Course Description
The course introduces widely used and effective methods of data organization, focusing on data structures, their algorithms, and the performance of these algorithms. Specific topics include priority queues, sorting, dictionaries, and data structures for text processing.
Students will learn to:
- Analyze, apply, and use various data structures and data management techniques in a variety of applications,
- Perform rigorous complexity analyses of simple algorithms and data structures, which includes writing correct mathematical proofs on inductively-defined structures and solving simple recurrence relations,
- Compare different data-structuring techniques from the point of view of time, memory requirements etc.,
- Select a good data structure to solve a specific algorithmic problem,
- Apply data structures correctly and efficiently in C++.
More details on the goals and coverage of the course can be found in the official course description.
Announcements [most recent at top]
- There are no tutorials week 1. Tutorials will begin on May 15th.
- All future announcements will be on Piazza [link]
Eric's lecture on August 1st is cancelled. Please take a look at this piazza post for more details.
FAQ
[Some common questions asked by students, including calculating the weighted average of exams, requirements to pass the course etc.]
Section under construction