

Date


Lecture

Description

Reading
(before class)

Homework



w
e
e
k
1


Tuesday
8 Jan
Slides


1 
Introduction
 course overview and organization
 what's an algorithm?


HW0:
Prerequisites
A note on Proof
formats



Thursday
10 Jan
Slides


2 
Analyzing an algorithm's runtime
 asymptotic ("Big Oh") notation

Ch 1, Ch 2–2.2












w
e
e
k
2 

Tuesday
15 Jan
Slides


3

Analysis of Iterative Algorithms

§2.3, Appendix A, 
HW0 due.



Thursday
17 Jan
Slides


4 
Analysis
of Recursive Algorithms 
§2.4, §2.5,
Appendix B 
HW1:
Asymptotic notation, summations, recurrences 










w
e
e
k
3 

Tuesday
22 Jan
Slides


5 
Brute Force
Algorithms 
§3–3.2 



Thursday 24 Jan
Slides


6 
Brute
Force Algorithms (continued); Exhaustive search 
§3.3, §3.4 
HW 1 due.


w
e
e
k
4


Tuesday
29 Jan
Slides


7 
Decrease & Conquer Algorithms — Insertion
sort, Topological sort, and generating
combinations

§4.0–4.3 
HW2:
Topological Sort, Compare sorts



Thursday
31 Jan
Slides
Medians
MIT
video


8 
Decrease
& Conquer Algorithms —
Decreasebyaconstantfactor &
variablesizedecrease

§4.4, §4.5












w
e
e
k
5


Tuesday 5 Feb
Slides


9

Master Theorem.
Divide & Conquer
Mergesort, Quicksort, Binary Tree
properties. 

§ 5.0–5.2 
HW2 due



Thursday
7 Feb


10

Review
Class













w
e
e
k
6 

Tuesday
12 Feb



Midterm
exam. The exam will cover everything in
Levitin up to the end of §5.2. Books,
calculators, cellphones and computers are
prohibited, but you may use a single 8.5" × 11"
“crib sheet” (doublesided, handwritten or
typeset), as a personal reference for
definitions and formulae. 




Thursday
14 Feb
Slides


11 
Divide &
Conquer (continued):
Karatsuba
multiplication,
Strassen's Algorithm, ClosestPair, Quickhull 
§ 5.3–5.5 
Project
Proposals 

w
e
e
k
7


Tuesday
19 Feb
Slides


12

Space & Time
tradeoffs
BoyerMoore String Searching

§7–§7.2 



Thursday
21 Feb
Slides


13 
Space
& Time tradeoffs, cont. Hashing,
B+Trees

§7.3, §7.4 
HW3
Project Proposals Due


w
e
e
k
8 

Tuesday 26 Feb
Slides


14 
Dynamic
Programming 
§8–8.2, 8.4 


Thursday 28 Feb
Slides


15 
Dynamic
Programming, cont. Greedy Techniques 
§9.1–9.4
§6.4 
HW3 due











w
e
e
k
9


Tuesday
5 Mar


16 
Greedy Techniques 

HW4 


Thursday
7 Mar
Slides


17 
Introduction to
Complexity Theory: the limitations of
algorithmic power 
§11.1–11.3 


w
e
e
k
10


Tuesday
12 Mar
Slides


18 
Proving
Correctness of Programs 
Axiomatic
Basis
Proof
of Quicksort

HW4 due



Thursday
14 Mar


19 
Review Class 

Projects due




Tuesday
19 Mar
10:15–12:05 


Final Exam
The exam will cover the whole of the course.
The use of books is not allowed, but you may
use a single 8.5" × 11" “crib sheet”
(doublesided, handwritten or typeset), as a
personal reference for definitions and
formulae.



