Schedule
This schedule may be slightly adjusted as the semester progresses in
order to reflect what actually happens in class.
Week 1 (1/23, 1/25, 1/26):
Week 2 (1/30, 2/1, 2/2):
Week 3 (2/6, 2/8, 2/9):
Week 4 (2/13, 2/15, 2/16):
- Topics : Sorting lower bound. Sorting in linear time.
- Notes : sortLB.pdf |
ex |
linsort.pdf
- Internet:
- Reading: CLRS 8, 9
- Lab: Lab 4 (sorting)
Week 5 (2/20, 2/22, 2/23):
- Topics : Selection.
- Notes : Selection.pdf |
ex | A brief github tutorial
- Internet:
- Reading: CLRS 9
- Lab:
Fri 2/23 (in-class): Exam 1 (covers everything up to and including linear-time sorting)
Week 6 (2/27, 3/1, 3/2):
- Topics: The divide-and-conquer technique:
(Karatsuba's integer multiplication, Strassen, maximum partial sum).
- Notes: Strassen.pdf | Max-subarray.pdf
- Reading: CLRS 4.1, 4.2
- Lab: Lab 5 (selection, d&c)
Week 7 (3/6, 3/8, 3/9):
- Topics: Dynamic programming.
- Notes: BoardGame.pdf | Rod.pdf
- Reading: CLRS 15.1, 15.4
- Lab: Lab 6 (divide-and-conquer and dynamic
programming)
!!! SPRING BREAK !!!
Week 8 (3/27, 3/29, 3/30):
- Topics: Dynamic programming.
- Notes: Rod.pdf |
Knapsack.pdf
- Reading: CLRS 15.1, 15.4
- Internet:
- Reading:
- Lab: Lab 7 (dynamic programming)
Week 9 (4/3, 4/5, 4/6):
Week 10 (4/10, 4/12, 4/13):
- Topics: Graphs: graph basics and traversals (BFS, DFS). Traversal applications. Topological sort.
- Notes: Basics.pdf |
BfsDfs.pdf | traversal-applications.pdf
| topsort.pdf
- Internet: Lecture slides
by Kevin Wayne.
- Reading: CLRS 22.1 - 22.3
- Lab: Fri 4/13 (in-class): Exam 2 (emphasis on selection, divide-and-conquer, dynamic programming and greedy).
Week 11 (4/17, 4/19, 4/20):
- Topics: Shortest paths: SP in DAGs. Bellman-Ford and Dijkstra's algorithms.
- Notes: shpaths.pdf
- Internet:
- Reading: CLRS 24.1, 24.2, 24.3
- Lab: Lab 9 (graphs I)
Week 12 (4/24, 4/26, 4/27)
- Topics: Minimum spanning trees (Kruskal and Prim's algorithms). Union-find structure.
- Notes: MST.pdf
- Internet: Lecture slides
- Reading: CLRS 23
- Lab: Lab 10 (graphs II SP)
Week 13 (5/1, 5/3, 5/4)
- Topics: Catching up on graphs.
- Notes:
- Reading:
- Lab: Lab 11 (graphs III MST)
Tue 5/8
- Topics:
Review and algorithmic questions from technical interviews.
-
Notes: review.pdf
- Internet:
Exam 3: Monday May 14 at 9am in Searles 126 (emphasis on graphs).
Additional: (we may not have time to cover)
- More graphs: Strongly connected components in linear time. scc.pdf
- Skip lists: skiplists.pdf
- More DP: Longest common subsequence (LCS): LCS
- Tries and string algorithms
- NP-completeness: e.g. Lecture slides by Kevin Wayne | Reading CLRS 22.4