Course info
Lectures
Homeworks
Staff Schedule
Piazza

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.
Announcements
 12/3: Shuchi's office hours are canceled for today.
 11/6: The office hours schedule has changed. The new
schedule is effective 11/7. Please see this for the new schedule.
 10/11: Please note that HW3 is due on 10/23, and not
10/25.
 10/10: Question 1 on HW2 had a slight error that has now
been corrected. A corrected version is posted here.
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

Homework/Other Info

9/4

1

Intro; Stable marriage

§1, §2, slides

HW0 out

9/6

2

Divide & Conquer algorithms: searching and sorting

§2, §5.1, §5.2

Sol0 out

9/11

3

D&C: counting inversions, closest pair of points, sorting lower bound

§5.3, inversions demo, §
5.4, lecture notes


9/13

4

D&C: linear time selection, integer multiplication

§5.5, lecture notes, selection demo

HW1 out

9/18

5

Graph connectivity & traversal: BFS, DFS

§3, BFS demo, DFS demo


9/20

6

Shortest paths in graphs

§4.4, Dijkstra demo


9/25

7

Dijkstra's algorithm contd., Greedy algorithms: interval scheduling,
minimizing lateness

§4.1, 4.2, Interval scheduling demo


9/27

8

Greedy: Minimum spanning trees

§4.5, 4.6, Prim demo, Kruskal demo

HW1 due, HW2 out

10/2

9

Greedy: Unionfind data structure, Huffman codes

§4.6, 4.8, Huffman demo


10/4

10

Dynamic programming: weighted interval scheduling

§6.1, 6.2


10/9

11

DP: Knapsack, RNA secondary structure

§6.4, 6.5


10/11

12

DP: Sequence alignment

§6.6, 6.7

HW2 due, HW3 out

10/16

13

DP: Shortest paths revisited

§6.8, 6.10


10/18

14

Network flow

§7.1, 7.2


10/23

15

Network flow: analysis of FordFulkerson, Edmonds Karp

§7.3, handout

HW3 due

10/25

16

Applications of network flow: maximum matching

§7.5, 7.6, 7.7


10/30

17

More applications and extensions of network flow

§7.7, 7.8, 7.9

HW4 out

11/1

18

Applications of minimum cut

§7.10, 7.11


11/6

19

Randomized algorithms, mincut revisited

§13.2, 13.12, 13.3


11/8

20

Random variables, Quicksort, Quickselect

§13.3, 13.5


11/13

21

Quicksort contd., Hashing

§13.5, 13.6

HW5 out, HW4 due

11/15

22

Hashing, Closest pair of points revisited

§13.6, 13.7


11/20

23

Randomization wrapup, reductions

§8.1


11/27

24

P and NP, CoNP, NPCompleteness

§8.3, 8.9, 8.4


11/29

25

NPCompleteness, CookLevin theorem, Satisfiability

§8.4, 8.2

HW6 out, HW5 due

12/4

26

Some NPComplete problems

§8.5, 8.6


12/6

27

More NPComplete problems, approximation

§8.7, 8.8


12/11

28

TBA



12/13

29

TBA


HW6 due

