Course info
Lectures
Homeworks
Staff Schedule
Piazza
|
NEW (5/1/12): Please see a note on Piazza for an
update to HW7.
Course info:
Click here for info on the course
content, text, grading, exams, etc.; See
sidebar for quick links.
Online discussion site:
We will conduct discussions via Piazza.
Schedule and readings
The following is a tentative list of topics and a collection of
material relevant to lectures. More information and links will be
added as the semester proceeds.
Date
|
Lec #
|
Topic
|
Readings/Notes/Slides
|
Handouts/Other Info
|
1/24
|
1
|
Intro; Computing Fibonacci numbers
|
§2
|
|
1/26
|
2
|
Divide & Conquer algorithms: searching and sorting
|
§2, §5.1, §5.2
|
|
1/31
|
3
|
D&C: counting inversions; Randomized D&C: quicksort
|
§5.3, §13.3, §13.5, demo
|
|
2/2
|
4
|
Analysis of quicksort; More on random variables and expectation
|
§13.3, §13.5
|
|
2/7
|
5
|
Linear-time selection: randomized and deterministic
|
§13.5, demo, notes
|
HW1 out
|
2/9
|
6
|
Selection (continued), Conditional probability and expectation
|
§13.5, §13.12
|
|
2/14
|
7
|
Hashing
|
§13.6, §13.12
|
HW2 out, HW1 due
|
2/16
|
8
|
Basic graph algorithms & connectivity: BFS, DFS
|
§3.1-3.3, demos: DFS, BFS
|
|
2/21
|
9
|
Shortest paths in graphs, greedy algorithms
|
§4.4, demo: Dijkstra's algo
|
HW3 out, HW2 due
|
2/23
|
10
|
Greedy algorithms: interval scheduling, minimum spanning trees
|
§4.1
|
|
2/28
|
11
|
Greedy algorithms: Minimum spanning trees
|
§4.5, §4.6, demos: Kruskal, Prim-1, Prim-2
|
HW-P1 out, HW3 due
|
3/1
|
12
|
Greedy algorithms: MST (contd.), Huffman codes
|
§4.5, §4.8, demo: Huffman
|
|
3/6
|
13
|
Greedy algorithms: Huffman codes (contd.)
|
§4.8
|
|
3/8
|
14
|
Dynamic Programming: Weighted interval scheduling
|
§6.1, §6.2, demo: Weighted
interval scheduling
|
|
3/13
|
15
|
DP: longest increasing subsequence, sequence alignment
|
§6.2, §6.6
|
HW-P1 due
|
3/15
|
16
|
Midterm review
|
Questions on Piazza
|
|
3/20
|
17
|
DP: Knapsack
|
§6.4
|
HW4 out
|
3/22
|
18
|
DP: Shortest paths revisited
|
§6.8, §6.10, notes
|
|
3/27
|
19
|
D&C: multiplication & fast Fourier transform
|
§ 5.5, § 5.6
|
HW-P2 out, HW4 due
|
3/29
|
20
|
D&C: Fast Fourier Transform
|
§ 5.6
|
|
4/10
|
21
|
Network flow
|
§ 7.1
|
|
4/12
|
22
|
NF: Ford-Fulkerson algorithm, max-flow min-cut theorem
|
§ 7.1, 7.2
|
|
4/17
|
23
|
Fast Ford-Fulkerson, Applications of network flow: matching
|
§ 7.3, 7.5
|
HW5 out, HW-P2 due
|
4/19
|
24
|
Extensions and applications of network flow
|
§ 7.6-7.10
|
|
4/24
|
25
|
Linear Programming
|
Notes on Piazza
|
HW6 out, HW5 due
|
4/26
|
26
|
Reductions and computational tractability, the classes P and NP
|
§ 8.1, 8.3
|
|
5/1
|
27
|
NP-Completeness, Satisfiability
|
§ 8.2, 8.3
|
HW7 out, HW6 due
|
5/3
|
28
|
Guest lecture: dealing with intractability
|
|
|
5/8
|
29
|
Some NP-Complete problems I
|
|
|
5/10
|
30
|
Some NP-Complete problems II
|
|
HW7 due
|
|