CS231 course materials this semester are in .pdf format, which requires the Adobe Acrobat Reader program for on-screen viewing and printing. This program is installed on most public computers at Wellesley College. If your computer does not have a working copy of Acrobat Reader, it is available for free from Adobe on all major computer platforms. Click on the button to the left to download Acrobat Reader. Note that there are plug-ins that allow you to read .pdf files directly from your browser; again, these are installed on most public computers and are freely available from Adobe.

- #01: Course Information
- #02: Syllabus
- #03: Problem Set 1
- #04: Issues In Algorithm Design and Analysis (2 slides per page)
- #05: Asymptotics
- #06: Recurrences
- #07: Counting and Probability
- #08: Problem Set 2
- #09: Problem Set 1 Solutions
- #10: Induction, Loop Invariants, and List Sorting
- #11: Problem Set 3
- #12: Array Sorting
- #13: Problem Set 2 Solutions
- #14: Problem Set 4
- #15: Linear Sorting
- #16: Order Statistics
- #17: Problem Set 3 Solutions
- #18: Dynamic Sets
- #18a: Persistent Dynamic Sets
- #19: Problem Set 5
- #20: AVL Trees
- #21: Red-Black Trees
- #22: Midterm Exam
- #23: Midterm Exam Review
- #24: Memoization and Dynamic Programming
- #25: Problem Set 4 Solutions
- #26: Problem Set 5 Solutions
- #27: Dutch Treat
- #28: Matrix-Chain Multiplication
- #29: Greediness
- #30: Problem Set 6
- #31: Compression
- #31a: Huffman Tree Example
- #32: Priority Queues
- #32a: Leftist Heaps
- #33: Problem Set 7
- #34: Amortization
- #35: Midterm Exam Solutions
- #36: Depth-First Search and Related Graph Algorithms
- #37: Single-Source Shortest Paths
- #38: Problem Set 8
- #39: CS231 Jeopardy (Jeopardy Slides)
- #40: Final Exam Review
- #41: Problem Set 6 Solutions
- #42: Problem Set 7 Solutions
- #43: Problem Set 8 Solutions

General Information

- #04: Issues In Algorithm Design and Analysis (2 slides per page)
- #05: Asymptotics
- #06: Recurrences
- #07: Counting and Probability
- #10: Induction, Loop Invariants, and List Sorting
- #12: Array Sorting
- #15: Linear Sorting
- #16: Order Statistics
- #18: Dynamic Sets
- #18a: Persistent Dynamic Sets
- #20: AVL Trees
- #21: Red-Black Trees
- #24: Memoization and Dynamic Programming
- #27: Dutch Treat
- #28: Matrix-Chain Multiplication
- #29: Greediness
- #31: Compression
- #31a: Huffman Tree Example
- #32: Priority Queues
- #32a: Leftist Heaps
- #34: Amortization
- #36: Depth-First Search and Related Graph Algorithms
- #37: Single-Source Shortest Paths

- #03: Problem Set 1 (#09: Problem Set 1 Solutions)
- #08: Problem Set 2 (#13: Problem Set 2 Solutions)
- #11: Problem Set 3 (#17: Problem Set 3 Solutions)
- #14: Problem Set 4 (#25: Problem Set 4 Solutions)
- #19: Problem Set 5 (#26: Problem Set 5 Solutions)
- #30: Problem Set 6 (#41: Problem Set 6 Solutions)
- #33: Problem Set 7 (#42: Problem Set 7 Solutions)
- #38: Problem Set 8 (#43: Problem Set 8 Solutions)