Course Schedule

Refer to this page daily for updates. This is a dynamic schedule (except for the labs); only the past is certain.

WeekDayDateTopicReading DueAssignment Due
1MonAug 22Introduction
WedAug 24Syllabus, algorithm design & analysis overviewChapter 1
ThuAug 25R1: LaTeX and pseudocode
FriAug 26Insertion sort: pseudocode and efficiency2.2
2MonAug 29Writing loop invariants2.1
WedAug 31Proving loop invariants using inductionInduction (thru >= p. 158)
ThuSep 1R2: Proof practice
FriSep 2Asymptotic notation3.1-3.3HW 1 (hw1.tex) | sols (tex)
3MonSep 5Asymptotic notation, cont.
WedSep 7Divide and Conquer, recurrences2.3, 4.3-4.4
ThuSep 8R3: Asymptotic Time Complexity
FriSep 9Recurrences, cont.HW 2 (hw2.tex)
4MonSep 12Quicksort7.1-7.2
WedSep 14Sorting lower bound8.1
ThuSep 15R4: Divide and Conquer
FriSep 16Closest Pair problemClosest pair | reading notes
5MonSep 19Dynamic programming: Fibonacci, rod cutting14.1HW 3 (hw3.tex)
WedSep 21No class
ThuSep 22R5: Dynamic Programming I
FriSep 23Matrix chain multiplication14.2
6MonSep 26Elements of dynamic programming14.3HW 4
WedSep 28Longest common subsequence14.4
ThuSep 29R6: Dynamic Programming II
FriSep 30DNA sequence alignment
7MonOct 3Greedy algorithms, activity selection15.1HW 5
WedOct 5Exam 1
ThuOct 6R7: Greedy Algorithms
FriOct 7Elements of greedy algorithms15.2
8MonOct 10NO CLASS — FALL BREAK
WedOct 12Huffman coding15.3
ThuOct 13R8: Overview of Recursive Paradigms
FriOct 14Abstract Data Types
9MonOct 17Binary search trees (review)12.1-12.3HW 6
WedOct 19B-trees18.1-18.3
ThuOct 20R9: Red-Black Trees13.1-13.3
FriOct 21B-trees
10MonOct 24Amortized analysis – aggregate method16.1-16.3
WedOct 26
ThuOct 27R10: Disjoint Sets19.1-19.3
FriOct 28Amortized analysis – accounting method
11MonOct 31Amortized analysis – potential functionsHW 7 | files
WedNov 2Graphs: definitions, representations20.1, B.4
ThuNov 3R11: Disjoint Sets, Cont.
FriNov 4Breadth-first search (BFS)20.2-3
12MonNov 7HW 8
WedNov 9Depth-first search (DFS) and topological sort20.4
ThuNov 10R12: Strongly Connected Components
FriNov 11Minimum spanning trees (MST)21.1
13MonNov 14Kruskal’s and Prim’s MST algorithms21.2
WedNov 16Single source shortest paths, Bellman-Ford22.1Exam 2 (take home)
ThuNov 17R13: Graph Paths
FriNov 18Dijkstra’s algorithm22.3
Nov 21-25NO CLASS —  THANKSGIVING BREAK
14MonNov 28Maximum Flow24.1
WedNov 30Ford-Fulkerson algorithm24.2
ThuDec 1R14: Flow and APSP23.1-23.2
FriDec 2Hard problems: P and NPpp. 1042-1047
MonDec 5UndecidabilityHW 9
TueDec 13Final Exam (3:30 in Dana 134)