CSE250 - Data Structures

Fall 2016, 8/29/2016-12/9/2016

Teaching Staff

Instructor

Dr. Jaroslaw 'Jaric' Zola, Davis Hall 335
jzola@buffalo.edu, http://www.jzola.org/, @rzolau
Office hours: Mo 10:00am-12:00pm, Davis Hall 335

Teaching Assistants

Course Overview

This critical course covers the design, analysis and implementation of basic data structures and their related algorithms. It is fundamentally a course about theory behind data structures. However, because the best way to understand properties of different data structures is by coding and using them, we will implement some of the data structures and their related algorithms in C++. Therefore, the course will cover also basic aspects of modern C++ programming. We will start with a brief discussion of the C++11 programming language. Next, we will survey fundamental data structures and how we can make use of them. On the way, we will learn several useful techniques that will help us to better design and reason about data structures and algorithms.

Below is arguably the most important message from the syllabus:

This course is challenging! It really is! Ask those before you... The most common mistake students make taking this course is to ignore heavy workload. If you try to solve an assignment one day before the deadline, you will fail (trust us, assignments are much trickier than they look). If you think you do not have to study much because open books/open notes exam policy, you will fail (trust us, you will not have enough time to find all that you need unless you are really well prepared). On the other hand, if you take this course seriously you will really enjoy it!

Course Resources

Course resources are available from here. Note that you have to authenticate to access this content. Ask your instructor if you have not received access guidelines so far.

Access to course resources.