See the index page for categorical listings of all assignments and topics.
Week 1: Introduction and Basic Concepts (Mostly review of ICS 211, 141 and 241)
Mon 01/08: #1 & #4 - Introduction to Course, Review of Basic Data Structures
Reading: CLRS Chapters 1 & 10
Lecture Notes: Topic 01, Topic 04
Screencasts: 01A-C (in Laulima Wiki),
04A,
04B
Wed 01/10: #3 Growth of Functions and Asymptotic Concepts
Fri 01/12:
Week 2: Algorithm Correctness and Analysis
Week 3: Divide & Conquer and Analysis of Recurrences, Heaps and Priority Queues
Mon 01/22:#7 - Divide & Conquer and Analysis of Recurrences:
Reading: CLRS Sections 2.3, 4.1 & 4.3-4.5
Lecture Notes: Topic 07
Screencasts: 02D (in Laulima), 02E (in Laulima),
07A,
07B,
07C,
07D
(Additional Screencasts): MIT Lecture 02 (16:51-end),
MIT Lecture 03 (through about 13:07 — we don't cover Strassen or Fibonacci numbers).
Wed 01/24: #9 - Heap, Heapsort and Priority Queues:
Fri 01/26:
Week 4: Binary Search Trees
Week 5: Probabilistic Analysis and Randomized Algorithms
Week 6: HashTables, Selection and Order Statistics
Week 7: Sorting Lower Bound and Linear Sorting
Week 8: Midterm 1 and Backtracking
Week 9: Dynamic Programming
Week 10: Greedy Algorithms and Basic Graph Algorithms
Week 11: Topological Sort, SCC, Union-Find, MST
Mon 03/25: #14b - Topological Sort, and Strongly Connected Components:
Wed 03/27: #16 & #17 - Disjoint Sets, Union-Find & Minimum Spanning Trees:
Reading: CLRS Chapters 19.1, 19.3, and 21. Also see Lemma 19.11, 19.12, 19.13 and Theorem 19.14
Lecture Notes: Topic 16 (skip Linked List representation: Forest is much better), Topic 17 Notes
Screencasts:
17A,
17B,
17C
(Additional Screencasts): MIT Lecture 16 (from minute 23:26).
Fri 03/29:
HOLIDAY
Week 12: Finding Shortest Paths in Graphs
Week 14: Maximum Flow in Graphs
Week 15: NP-Completeness and Approximation Algorithms
Finals Week:
Final Exam: Cumulative on all topics (1-14, 16-20, 22, 24, & 25)
|