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/09: #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/11: #3 Growth of Functions and Asymptotic Concepts
Fri 01/13:
Week 2: Algorithm Correctness and Analysis
Week 3: Divide & Conquer and Analysis of Recurrences, Heaps and Priority Queues
Mon 01/23:#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/25: #9 - Heap, Heapsort and Priority Queues:
Fri 01/27:
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 and Greedy Algorithms
Week 10: Basic Graph Algorithms
Mon 03/20: #14a - Graph Representations, Breadth-First Search, Depth-First Search:
Reading: CLRS Sections 20.1-20.3; Chapter 5 of Jeff Erickson's lecture notes; Goodrich & Tamassia section on Graph Representations (in Laulima)
Lecture Notes: Topic 14A
Screencasts:
14A,
14B,
14C,
14D,
14E
(Additional Screencasts): MIT Lecture 16 (till minute 23:26, the rest focuses on MST — next week's topic).
Mon 03/22: #14b - Topological Sort, and Strongly Connected Components:
Fri 03/24:
Week 12: Finding Shortest Paths in Graphs
Mon 04/03: #18 - Single-Source Shortest Paths:
Wed 04/05: #19 - All-Pairs Shortest Paths:
Fri 04/07: HOLIDAY - No office hours
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)
|