Schedule

Please keep in mind that this is preliminary and may change.

Week 1

Tue 30-AugLecture 1: Linear-time Selection[notes] [slides]
Homework 1 released[homework 1]
Thu 01-SepLecture 2: Concrete models and tight upper/lower bounds[notes] [slides]
Fri 02-SepRecitation 1: Recurrences and Lower Bounds[recitation 1] [solutions]

Week 2

Tue 06-SepLecture 3: Amortized Analysis*[notes] [slides]
Wed 07-SepHomework 1 due[solutions]
Thu 08-SepLecture 4: Splay Trees[notes] [slides]
Homework 2 released[homework 2]
Fri 9-SepRecitation 2: Amortized Analysis and Splay Trees[recitation 2] [solutions]
*Lecture recording failed, so I re-recorded it in my office, sorry
Lecture recording failed again. Link is to last year's lecture

Week 3

Tue 13-SepLecture 5: Hashing I: Universal and Perfect Hashing[notes] [slides]
Wed 14-SepHomework 2 due[solutions]
Thu 15-SepLecture 6: Hashing II: Streaming Algorithms[notes] [slides]
Homework 3 released[homework 3]
Fri 16-SepRecitation 3: Hashing and Streaming[recitation 3] [solutions]

Week 4

Tue 20-SepLecture 7: Hashing III: Fingerprinting[notes] [slides]
Wed 21-SepHomework 3 orals[solutions]
Thu 22-SepLecture 8: Range Query Data Structures[notes] [slides]
Homework 3 orals
Fri 23-SepRecitation 4: Fingerprinting and SegTrees[recitation 4] [solutions]
Homework 3 orals
Sat 24-SepMidterm I Review Session

Week 5

Tue 27-SepMidterm I
Thu 29-SepLecture 9: Dynamic Programming I[notes]
Homework 4 released[homework 4]
Fri 30-SepRecitation 5: Dynamic Programming[recitation 5] [solutions]

Week 6

Tue 04-OctLecture 10: Dynamic Programming II[notes] [slides]
Wed 05-OctHomework 4 due[solutions]
Thu 06-OctLecture 11: Network Flows I: Flows, Cuts, and Matchings[notes] [slides]
Homework 5 released[homework 5]
Fri 07-OctRecitation 6: Dynamic Programming and Flows[recitation 6] [solutions]

Fall Break

Mon 17-OctFall Break begins
Fri 21-OctFall Break ends

Week 8

Tue 25-OctLecture 14: Game Theory[notes] [slides]
Homework 6 released[homework 6]
Thu 27-OctLecture 15: Linear Programming I: Basics[notes] [slides]
Fri 28-OctTartan Community Day (No Classes)
Microphone dies half way. See last year's video as an alternative.

Week 9

Tue 01-NovLecture 16: Linear Programming II: Algorithms (Seidel's 2D Algorithm)[notes] [slides]
Wed 02-NovHomework 6 orals[solutions]
Thu 03-NovLecture 17: Linear Programming III: Duality[notes] [slides]
Homework 6 orals
Fri 04-NovRecitation 8: Game Theory and Linear Programming[recitation 8] [solutions] (kunal's notes)
Homework 6 orals
Sun 06-NovMidterm II Review Session

Week 10

Tue 08-NovMidterm II
Thu 10-NovLecture 18: Experts & The Multiplicative Weights Algorithm[notes] [slides]
Homework 7 released[homework 7]
Fri 11-NovRecitation 9: Experts & The Multiplicative Weights Algorithm[recitation 9] [solutions]

Week 11

Tue 15-NovLecture 19: Approximation Algorithms[notes] [slides]
Wed 16-NovHomework 7 due[solutions]
Thu 17-NovLecture 20: Online Algorithms (Take Two - MTF Proof)[notes] [slides]
Homework 8 released[homework 8]
Fri 18-NovRecitation 10: Online and Approximation Algorithms[recitation 10] [solutions] (kunal's notes)

Week 12

Tue 22-NovLecture 21: Computational Geometry I: Primitives and Convex Hull[notes] [slides] (blank)
Wed 23-NovThanksgiving Break begins
Fri 25-NovThanksgiving Break ends

Week 13

Tue 29-NovLecture 22: Computational Geometry II: Incremental Algorithms[notes] [slides] (blank)
Wed 30-NovHomework 8 due
Thu 01-DecLecture 23: Strassen and Karatsuba[notes] [slides]
Homework 9 released[homework 9]
Fri 02-DecRecitation 11: Computational Geometry[recitation 11] [solutions] (kunal's notes)

Week 14

Tue 06-DecLecture 24: The Algorithmic Magic of Polynomials[notes] [slides]
Wed 07-DecHomework 9 orals[solutions]
Thu 08-DecLecture 25: The Fast Fourier Transform[notes] [slides] (blank)
Homework 9 orals
Fri 09-DecRecitation 12: FFT, Multiplication, Polynomials[recitation 12] [solutions] (kunal's notes)
Homework 9 orals

Finals

Wed 14-DecFinal Exam Review Session
Fri 16-DecFinal Exam (8:30am)

Course Calendar