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 Slides Topic & Reading Assignments

Week 1

Jan 08

Slides
First two pages of preface

Introduction to Algorithms, Proofs, Algorithm Analysis
Why Do We Do Proofs? - Check out the annotated slides. You can download the whole lecture/resources and then listen to the lecture.

Guides to Proofs, including by induction

Problem: Stable Matching
Shapley wins Nobel prize in Economics

Kleinberg & Tardos: Preface, Chapters 1--2

Read, summarize on Wiki first two pages of Preface, Chapter 1.1, Chapter 2.1, 2.2 - Due Tuesday, January 16 at 11:59 p.m. (because of MLK Day)

Problem Set 1 - Due Friday, Jan 19

Jan 10

Slides
Chapter 1.1

Jan 12

Drop/Add ends

Slides
Chapter 2.1-2.2

Week 2

Jan 15

Martin Luther King Jr. Day

Jan 17

Slides
Chapter 2.2, 2.3

Asymptotic Order of Growth

Implementing Gale-Shapley Algorithm

Kleinberg & Tardos: Chapter 2

Wiki due Tuesday

Problem Set 1 due Friday before class

Problem Set 2 handed out

Jan 19

Slides
Chapter 2.3

Week 3

Jan 22

Slides
Chapter 2.4-2.5

Survey of Common Running Times

Priority queues and Heaps
Kleinberg & Tardos, Chapter 2

Graphs
Kleinberg & Tardos: Chapter 3

Wiki due Monday at 11:59 p.m.

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

Problem Set 3 handed out

Jan 24

Slides
Chapter 2.5

Jan 26

Slides
Chapter 3.1

Week 4

Jan 29

Slides
Chapter 3.1-3.2

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

Wiki due Monday (2.4, 2.5, 3.1)

Problem Set 3 due Friday

Problem Set 4 handed out

Jan 31

Slides
Chapter 3.2-3.3

Feb 02

Slides
Chapter 3.3, 3.4

Week 5

Feb 05

Slides
Chapter 3.5-3.6

Directed Graphs
Topological Ordering
K & T: Chapter 3

Greedy Algorithms: Intro
K & T: Chapter 4

Wiki due Tuesday (finishing Chapter 3 -- 3.2-3.6)

Problem Set 4 due Friday

Exam 1 handed out.

Feb 07

Slides
Chapter 3.5, Chapter 4: front matter, section 1

Feb 09

Slides
Chapter 4: front matter, section 1

Week 6

Feb 12

Slides
Chapter 4.2

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

How to write Greedy Stays Ahead Proofs and Greedy Exchange Proofs

Exam due Friday
Exam 1 FAQ

No Wiki

Problem Set 5 given out

Feb 14

Exam 1 - Work period, due Friday at 5 p.m.

Feb 16

Slides
Chapter 4.4

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

How to write Greedy Stays Ahead Proofs and Greedy Exchange Proofs (continued)

Week  

Feb 19

Washington Break

Feb 21

Feb 23

Week 7

Feb 26

Slides
Chapter 4.4, 4.5

Greedy Algorithms:
Shortest Path, Minimum Spanning Trees, Union-Find Data Structure, Clustering
Chapter 4

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

Problem Set 5 (FAQ) due Friday

Problem Set 6 handed out

Feb 28

Slides
Chapter 4.5

Mar 02

Slides
Chapter 4.5-4.7

Week 8

Mar 05

Slides
Chapter 4.8

Professor Levy's example code

Greedy Algorithms: Data Compression - Huffman Codes

Divide and Conquer Algorithms: Recurrence relations, Counting inversions

K&T 5.1, 5.2, 5.3

Wiki due Monday (4.5-4.7)
Problem Set 6 due Friday
Problem Set 7 handed out

Mar 07

Slides
Chapter 5, 5.1

Mar 09

Slides
Chapter 5.1, 5.2-5.3

Week 9

Mar 12

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 14

Slides
Chapter 5.4, 5.5

Mar 16

Slides
Chapter 6, 6.1

Week 10

Mar 19

Exam 2 - Work period, due Friday at 5 p.m.

Mar 21

Slides
Chapter 6.1-6.3

Dynamic Programming: Weighted Interval Scheduling, Segmented Least Squares

Exam 2 FAQ

No wiki

Problem Set 8 handed out

Mar 23

Slides
Chapter 6-3-6.4

Week 11

Mar 26

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 28

Slides
Chapter 6.4, 6.6

Mar 30

Slides
Chapter 7.1-7.2

Week 12

Apr 02

Slides
Chapter 7.5, 7.7, 7.8

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
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

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

Apr 04

Slides
Chapter 7.5, 7.7, 7.9; Chapter 8.1

Apr 06

Slides
Chapter 8.1

Week  

Apr 09

Final Exam
FAQ

Apr 11

Apr 13