The textbook for this course is Algorithms by Dasgupta, Papadimitriou and Vazirani.

Assignments, readings and deadlines will be posted below as the course progresses. Check the calendar often.

All assignments may be done in groups of up to three of your choosing.

Auditors are expected to attend all lectures and hand in all assignments, but are not required to take the tests or final exam.

Course Details

Course Personnel
Instructor Teaching Assistants
Dr. Borradaile (Dr.B.)
Javad Azimi
Theresa Migler
Yan Zhang
Course Evaluation
See course grading and late policies?
Assignments 25%
Tests 45%
Final 30%


This schedule is tentative and subject to change. Chapter references refer to the course textbook, which you are expected to read.

Week Plan
1 Algorithm design and analysis basics. Chapter 0 and 1.
Asymptotic Notation Cheat Sheet?
Bonus: on factoring integers
Wednesday - Matlab tutorial 4.30 - 5 or 5 - 5.30 in KEC 1007.
2 Divide and conquer algorithms. Chapter 2.
Bonus: need to drive recursion and stacks home? Try this game and, in particular, puzzles 330, 536, 656 and 1033.
Thursday - Matlab tutorial 6 - 7 in KEC 1114 (changed from 1126).
Friday - bonus office hours with Yan Zhang from 2.30 - 4 in the Atrium
3 Graph search. Chapter 3.
Monday - MLK Day; office hours are cancelled
Tuesday - Written assignment 1? is due. Late assignments are not accepted. Please see the grading and late policies? and the guidelines for written assignments?.
A1 solutions
Thursday - Programming assignment 1? is due. Late assignments are not accepted. Please see the grading and late policies? and the guidelines for programming assignments?. Please direct questions about the programming assignment to Javad Azimi.
4 Dr. B. is out of town M/T.
Tuesday - Test 1 score distribution? and solutions
Plan ahead: P2 to be released as early as tomorrow, A2 one week from now (for each you will have at least one week to work). Midterms and P1 to be graded by Thursday next week.
5 Greedy algorithms. Chapter 4.
Having difficulty with proofs? Go to the Math Learning Center
Proof of correctness of BFS?
Proof of correctness of Dijkstra's algorithm?
6 Chapter 5.
Tuesday - Programming assignment 2? is due; file updated Feb 4
From abstract to less abstract (using data structures)?
7 Tuesday - DREU Application Deadline and | written assignment 2? is due.
A2 solutions
Friday - extra office hours with TM 10-11.30 AM in the Atrium.
Coding examples (a handout)?
Solving the selection recurrence (another handout)?
8 Monday - Math REU Application Deadline
Tuesday - Test 2 and written assignment 3? is due: solutions to the ungraded questions.
Wednesday - TM office hours cancelled.
Dynamic programming. Chapter 6.
A3 solutions.
T2 solutions.
Grade distribution of test 2? (average = 63%) and grade distribution of partial final grades? (average = 73%) - final average will be B/B-.
9 NP-completeness. Chapter 8.
Thursday - programming assignment 3? is due.
10 Tuesday - office hours cancelled; A4 ungraded solutions
Thursday - written assignment 4? is due. Solutions to A4.
Bonus office hours Friday: 8.30-10 AM (Dr. B. in KEC 3071); 11-12.30 (YZ in Atrium); 2-3.30 PM (TM in Atrium)
11 Monday 9.30 - 11.20 AM - Final exam