Tentative Schedule
Week 1 (1/22, 1/23, 1/28, 1/29):
Week 2 (1/30, 2/4, 2/5, 2/6):
- Topics: Summations. Recurrences. Mergesort.
- Slides:
MergeSort,
Recurrences
- Reading: CLRS A, 2.3, 4.4
- Lab 2: Recurrences
Week 3 (2/11, 2/12, 2/13):
Week 4 (2/18, 2/19, 2/20):
- Topics : Sorting lower bound. Sorting in linear time.
- Reading: CLRS 8
- Lab 4: Sorting
Week 5 (2/25, 2/26, 2/27):
Exam 1: Wednesday, 2/27 (in-class): covers everything up to and including linear time sorting.
Week 6 (3/4, 3/5, 3/6):
- Topics: The Divide-and-Conquer Technique:
(Karatsuba's Integer Multiplication, Strassen, Maximum Partial Sum).
- Reading: CLRS 4.1, 4.2
- Lab 5: Selection and Divide & Conquer
Week 7 (3/25, 3/26, 3/27):
- Topics: Dynamic Programming: BoardGame, Rod Cutting
- Reading: CLRS 15.1, 15.4
- Lab 6: Divide & Conquer and Dynamic Programming
Week 8 (4/1, 4/2, 4/3):
Week 9 (4/8, 4/9, 4/10):
- Topics: Dynamic programming. Greedy algorithms. Activity Selection
- Reading: CLRS 15.1, 15.4, 16.1, 16. 2
- Lab 8: Dynamic Programming and Greedy Algorithms
Week 10 (4/15, 4/16, 4/17):
Exam 2: Wednesday, 4/17 (in-class): emphasis on selection, divide-and-conquer, dynamic programming, and greedy algorithms.
Week 11 (4/22, 4/23, 4/24):
- Topics: Shortest Paths: SPs in DAGs, Bellman-Ford, Dijkstra's Algorithm.
- Reading: CLRS 24.1, 24.2, 24.3
- Lab 9: Graphs
Week 12 (4/29, 4/30, 5/1)
Week 13 (5/6, 5/7, 5/8)
- Topics: TBA
- Reading: TBA
- Lab 11: Graphs (Minimum Spanning Trees)
Exam 3: Monday, May 13, 1:30 - 4:30 pm in Searles 126: emphasis on graphs.