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