What this resource explores
An archived introduction to data structures and algorithm design, linking computational problems to correctness arguments and performance analysis.
- Data structures, sorting and hashing
- Graph search and dynamic programming
- Correctness and computational complexity
Who it is for
Learners with Python programming and discrete-mathematics foundations who want to reason about algorithmic solutions.
Background & preparation
The archived syllabus lists Python 3 programming and discrete mathematics, including proofs, recursion, graphs and probability, as prerequisites.
A way to approach it
For each problem, connect a data structure or algorithm with a correctness argument and a running-time analysis. Use the notes and exercises together.
Edition & context
These are Spring 2020 materials. The historical syllabus describes that offering, not current enrolment or a reflib-taught course.
