January 2018
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
 
1
2
3
4
5
6
7
Week 1
8
9
Class 1

Introduction
Monday Schedule
10
Class 2

Expressing Running Time
11
12
Class 3

Analyzing simple iterative algorithms
13
14
Week 2
15
MLK Day
16
17
Class 4

Proving Correctness for Iterative Algs
18
19
Class 5

Analysis & Correctness for Simple Recursive Algorithms
20
21
Week 3
22
Shutdown Day
Project 1 assigned
23
24
Class 6

Analyzing and improving iterative algorithms I
25
26
Class 7

Analyzing and improving iterative algorithms II
27
28
Week 4
29
Class 8

Basic iterative sorting
30
31
Class 9

Finishing selection & insertion sort; Divide & Conquer
     

February 2018
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
       
1
2
Class 10

All about Merge Sort
3
4
Week 5
5
Class 11

Finishing Merge Sort; lower bounds on sorting
6
Project 1 due
7
Class 12

Lower bounds on sorting
8
9
Class 13

Graph Algorithms (intro) & analysis revisited
10
11
Week 6
Problem Set 1 assigned
12
Class 14

Graph Algorithms - Search
13
14
Class 15

Graph Algorithms - Depth First Search revisited
15
16
6Week Exam
17
18
Week 7
19
Presidents Day
20
21
Class 16

Graph Algorithms - digraphs and topological sort
6Wk Grades Due
22
23
Exam Debrief
24
25
Week 8
26
In-class Problem Set Time
27
28
Class 17

Optimization and Greedy Algorithms
Problem Set 1 Presentations
     

March 2018
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
       
1
Problem Set 1 Presentations
2
Class 18

Prim's MST Algorithm (get greedy!)
Problem Set 1 Presentations
3
4
Week 9
5
Class 19

Analyzing Prim's MST Algorithm
6
7
Class 20

Intro to memoization and dynamic programming (LCS)
8
9
Class 21

Dynamic programming LCS
10
11
12
Spring Break
13
Spring Break
14
Spring Break
15
Spring Break
16
Spring Break
17
18
Week 10
19
Class 22

0/1 Knapsack
20
21
Class 23

Introduction to P and NP
22
23
Class 24

Introduction to P and NP
24
25
Week 11
26
Class 25

Nondeterministic Computing & Polynomial Time Reduction
27
28
Class 26

A Non-Trivial Reduction Problem
29
30
Class 27

CIRCUIT-SAT and NP-COMPLETENESS
31

April 2018
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
1
Week 12
2
Class 28

3CNF-SAT & INDEPENDENT-SET
3
4
Class 29

I've got an NP-Hard Problem ... What do I do?
5
6
12Week Exam
7
8
Week 13
9
Class 30

A Geometric View of Optimization
10
12Wk Grades Due
11
Exam Debrief
12
13
Class 31

Enumeration
14
15
Week 14
16
Class 32

Number theoretic computations (intro)
17
18
Class 33

Number theoretic computations (the Euclidean Algorithm)
19
20
Class 34

Number theoretic computations (more Euclidean)
21
22
Week 15
23
Class 35

Number theoretic computations (exponentiation)
24
25
Class 36

Number theoretic computations (exponentiation)
26
27
Class 37

Number theoretic computations (RSA)
28
29
Week 16
30
Class 38

Sorting Revisited
         

May 2018
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
   
1
2
Reading Day
3
4
5
6
7
8
9
10
11
12
13
14
Final Grades Due
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31