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
solution videos
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
Problem Set 2 assigned
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
Snow Day
22
23
Class 23

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

Introduction to P and NP
27
Problem Set 2 Presentations
28
Class 25

Nondeterministic Computing & Polynomial Time Reduction
Problem Set 2 Presentations
29
Problem Set 2 Presentations
30
Class 26

A Non-Trivial Reduction Problem
31

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

CIRCUIT-SAT and NP-COMPLETENESS
3
4
Class 28

3CNF-SAT & INDEPENDENT-SET
5
6
12Week Exam
7
8
Week 13
9
Class 29

I've got an NP-Hard Problem ... What do I do?
10
12Wk Grades Due
11
Exam Debrief
12
13
Class 30

A Geometric View of Optimization
14
15
Week 14
16
Class 31

Enumeration
17
18
Class 32

Number theoretic computations (intro)
19
20
Class 33

Number theoretic computations (the Euclidean Algorithm)
21
22
Week 15
23
Class 34

Number theoretic computations (more Euclidean)
24
25
Comp time for capstone day
26
27
Class 35

Number theoretic computations (exponentiation / Diffie Hellman)
28
29
Week 16
30
Class 36

Number theoretic computations (RSA)
         

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