Skip to main content.

Schedule

Lecture slides will be posted after class.

Most (non-exam) dates are tentative. The schedule will be updated as the semester progresses.

WEEK DAY Lectures & Examples Topic & Reading Assignments
1

Jan 11

Slides
First two pages of preface

Introduction to Algorithms, Proofs, Algorithm Analysis
Problem: Stable Matching

Kleinberg & Tardos: Preface, Chapters 1--2
Why Do We Do Proofs? - Check out the annotated slides. You can listen to the lecture as well.
Shapley wins Nobel prize in Economics
Read, summarize on Wiki first two pages of Preface, Chapter 1.1, Chapter 2.1, 2.2 - Due Monday, January 18 at midnight

Problem Set 1 - Due Friday, Jan 22 before 5 p.m.

Jan 13

Slides
Chapter 1.1

Jan 15

Drop/Add ends

Slides
Chapter 2.1-2.2

2

Jan 18

MLK Day - classes suspended

Slides
Chapter 2.2, 2.3 (Jan 19)

Asymptotic Order of Growth

Implementing Gale-Shapley Algorithm

Survey of Common Running Times

Kleinberg & Tardos: Chapter 2

Wiki due Monday

Problem Set 2 handed out

Jan 20

Slides
Chapter 2.3, 2.4 (Jan 21)

Jan 22

 
3

Jan 25

Slides
Chapter 2.5

Priority queues and Heaps
Kleinberg & Tardos, Chapter 2

Graphs
Kleinberg & Tardos: Chapter 3

Wiki due Monday at midnight

Problem Set 2 due Friday
PS2 FAQ
Starter Python 2 Code for Chapter 2, Exercise 6
Starter Python 3 Code for Chapter 2, Exercise 6

Finish reading Chapter 2

Problem Set 3 handed out

Jan 27

Slides
Chapter 2.5

Jan 29

Slides
Chapter 3.1, 3.2

4

Feb 01

Slides
Chapter 3.2,3.3

Graphs: Breadth-First Search, Depth-First Search, Bipartiteness, Directed Graphs
K & T: Chapter 3

Wiki due Monday

Problem Set 3 due Wednesday

Midterm - handed out Wednesday

Feb 03

Slides
Chapter 3.3

Feb 05

Slides
Chapter 3.4, 3.5

5

Feb 08

Exam

Feb 10

Slides
Chapter 3.6

Topological Ordering
K & T: Chapter 3

Greedy Algorithms: Intro
K & T: Chapter 4

Wiki for two weeks due _next_ Monday (finishing Chapter 3 -- 3.3-3.6)
Exam due Wednesday
Exam 1 FAQ

Problem Set 4 given out

Feb 12

Mock Convention

6

Feb 15

Class canceled
Slides
Chapter 4: front matter, section 1

Greedy Algorithms: Interval scheduling, Minimizing max lateness, Shortest paths

Wiki for Chap 3.3-3.6 due Monday

Problem Set 4 (FAQ) due Friday

Problem Set 5 handed out

Feb 17

Slides
Chapter 4.2

Feb 19

Slides
Chapter 4.4

 

Feb 22

Washington Break

Feb 24

Feb 26

7

Feb 29

Slides
Chapter 4.4, 4.5

Greedy Algorithms:
Shortest path: Dijkstra's Algorithm
Minimum Spanning Trees, Union-Find Data Structure, Clustering, Data Compression-Huffman Codes
Chapter 4

Wiki for Chapter 4 (specifically front matter, 4.1, 4.2, 4.4) due Monday

Problem Set 5 due Friday

Problem Set 6 handed out

Mar 02

Slides
Chapter 4.5

Mar 04

Slides
Chapter 4.5-4.7, 4.8

8

Mar 07

Slides
Chapter 4.8

Greedy Algorithms: Huffman Codes

Divide and Conquer Algorithms: Recurrence relations, Counting inversions

K&T 5.1, 5.2, 5.3

Wiki due Monday (Week 6 topics)
Problem Set 6 due Friday
Problem Set 7 handed out

Mar 09

Slides
Chapter 5, 5.1

Mar 11

Slides
Chapter 5.1, 5.2

9

Mar 14

Slides
Chapter 5.3-5.4

Divide and Conquer Algorithms: Counting Inversions, Closest pair of points, Integer multiplication, matrix multiplication
K&T: Chapter 5.1-5.4

Dynamic Programming: Memoization, Weighted Interval Scheduling
K & T: Chapter 6

Wiki due Monday (4.8, 5.1, 5.2, 5.3)

Problem Set 7 due, FAQ

Exam 2 handed out

Mar 16

Slides
Chapter 5.4, 5.5

Mar 18

Slides
Chapter 6, 6.1

10

Mar 21

Exam

Mar 23

Slides
Chapter 6.1-6.2

Dynamic Programming: Weighted Interval Scheduling, Segmented Least Squares

Exam 2 FAQ

No wiki

Problem Set 8 handed out

Mar 25

Slides
Chapter 6.2-6.3

11

Mar 28

Slides
Chapter 6.4

Dynamic Programming: Knapsack, Sequence Alignment: Reducing Space, Shortest Path, Chapter 6

Network Flow: Maximum Flow, Minimum Cuts
Ford-Fulkerson Algorithm
Capacity Scaling
K&T: Chapter 7
Wiki Due Monday (6-6.3)
Problem Set 8 due
Problem Set 9 Handed out

Mar 30

Slides
Chapter 6.4, 6.6

Apr 01

Slides
Chapter 7.1-7.2

12

Apr 04

Slides
Chapter 7.1-7.2

Network Flow Applications
NP and Computational Intractability
K & T: Chapter 7, 8
Wiki Due Monday (7.1-7.2, 7.5, 7.7)
Problem Set 9 due
Python template file, Python3 template file, Java template file
Data file and Expected Output files
To extract the data/output files in a Linux terminal:
tar xfz neruda.tgz

Fill out course evaluation form

Final Exam handed out
Read: Click-bait P vs NP news and The status of the P versus NP problem

Apr 06

Slides
Chapter 7.5, 7.7, 7.8

Apr 08

Slides
Chapter 8.1

 

Apr 11

Final Exam
FAQ

Apr 13

Apr 15