Resource Index

Lectures occured on Tuesdays and Thursdays. Recitations took place on Wednesdays and Fridays. Optional problem sessions were held on Fridays. 

Week Lectures Recitations Problem Sessions Quizzes Problem Sets


Lecture 1: Introduction notes (PDF)

Lecture 2: Data Structures notes (PDF)

Recitation 1 notes (PDF)

Recitation 2 notes (PDF)

Problem Session 1 questions (PDF)

Problem Session 1 solutions (PDF)


Problem Set 0 questions (PDF)

Problem Set 0 solutions (PDF)


Lecture 3: Sorting notes (PDF)

Lecture 4: Hashing notes (PDF)

Recitation 3 notes (PDF)

Recitation 4 notes (PDF)

Problem Session 2 questions (PDF)

Problem Session 2 solutions (PDF)


Problem Set 1 questions (PDF)

Problem Set 1 solutions (PDF)


Lecture 5: Linear Sorting notes (PDF)

Recitation 5 notes (PDF)

Problem Session 3 questions (PDF)

Problem Session 3 solutions (PDF)


Problem Set 2 questions (PDF)

Problem Set 2 solutions (PDF)


Lecture 6: Binary Trees, Part 1 notes (PDF)

Lecture 7: Binary Trees, Part 2: AVL notes (PDF)

Recitation 6 notes (PDF)

Recitation 7 notes (PDF)

Problem Session 4 questions (PDF)

Problem Session 4 solutions (PDF)


Problem Set 3 questions (PDF)

Problem Set 3 solutions (PDF)


Lecture 8: Binary Heaps notes (PDF)

Lecture 9: Breadth-First Search notes (PDF)

Recitation 8 notes (PDF)

Recitation 9 notes (PDF)

No problem sessions

Quiz 1 review (PDF)

Quiz 1 review solutions (PDF)

Problem Set 4 questions (PDF)

Problem Set 4 solutions (PDF)


Lecture 10: Depth-First Search notes (PDF)

Lecture 11: Weighted Shortest Paths notes (PDF)

Recitation 10 notes (PDF)

Recitation 11 notes (PDF)

Problem Session 5 questions (PDF)

Problem Session 5 solutions (PDF)



Lecture 12: Bellman-Ford notes (PDF)

Recitation 12 notes (PDF)

Problem Session 6 questions (PDF)

Problem Session 6 solutions (PDF)

Quiz 1 questions (PDF)

Quiz 1 solutions (PDF)

Problem Set 5 questions (PDF)

Problem Set 5 solutions (PDF)


Lecture 13: Dijkstra's Algorithm notes (PDF)

Lecture 14: ASP & Johnson's Algorithm notes (PDF)

Recitation 13 notes (PDF)

Recitation 14 notes (PDF)

Problem Session 7 questions (PDF)

Problem Session 7 solutions (PDF)

Quiz 2 review (PDF)

Quiz 2 review solutions (PDF)

Problem Set 6 questions (PDF)

Problem Set 6 solutions (PDF)


Lecture 15: Dynamic Programming, Part 1: SRTBOT, Fib, DAGs, Bowling notes (PDF)

Lecture 16: Dynamic Programming, Part 2: LCS, LIS, Coins notes (PDF)

Recitation 15 notes (PDF)

Recitation 16 notes (PDF)

Problem Session 8 questions (PDF)

Problem Session 8 solutions (PDF)



Lecture 17: Dynamic Programming, Part 3 notes (PDF)

Recitation 17 notes (PDF)

No problem sessions

Quiz 2 questions (PDF)

Quiz 2 solutions (PDF)

Problem Set 7 questions (PDF)

Problem Set 7 solutions (PDF)


Lecture 18: Dynamic Programming, Part 4: Rods, Subsetsum, Pseudopolynomial notes (PDF)

Lecture 19: Complexity notes (PDF)

Recitation 18 notes (PDF)

Recitation 19 notes (PDF)

Problem Session 9 questions (PDF)

Problem Session 9 solutions (PDF)

Quiz 3 review (PDF)

Quiz 3 review solutions (PDF)

Problem Set 8 questions (PDF)

Problem Set 8 solutions (PDF)


Lecture 20: Course Review notes (PDF)

No notes for recitation 20

No problem sessions

Quiz 3 questions (PDF)

Quiz 3 solutions (PDF)



No notes for lecture 21

No recitations

No problem sessions



No lectures

No recitations

No problem sessions

Final Exam (PDF)

Final Exam solutions (PDF)


Course Info

Learning Resource Types

theaters Lecture Videos
assignment_turned_in Problem Sets with Solutions
grading Exams with Solutions
notes Lecture Notes