|
|
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 run-time
- 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 —
Decrease-by-a-constant-factor &
variable-size-decrease
|
§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
|
|
|
Mid-term
exam. The exam will cover everything in
Levitin up to the end of §5.2. Books,
calculators, cell-phones and computers are
prohibited, but you may use a single 8.5" × 11"
“crib sheet” (double-sided, hand-written or
typeset), as a personal reference for
definitions and formulae. |
|
|
|
|
Thursday
14 Feb
Slides
|
|
11 |
Divide &
Conquer (continued):
Karatsuba
multiplication,
Strassen's Algorithm, Closest-Pair, Quickhull |
§ 5.3–5.5 |
Project
Proposals |
|
w
e
e
k
7
|
|
Tuesday
19 Feb
Slides
|
|
12
|
Space & Time
tradeoffs
Boyer-Moore 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”
(double-sided, hand-written or typeset), as a
personal reference for definitions and
formulae.
|
|
|
|