Online Schedule

The rest of our semester will be divided into topic sections. Each topic section will have a set of lecture recordings (a lecture package) to watch and a given watch-by date.

Dynamic Programming

March 23 - Review and Gerrymandering

Greedy Algorithms

March 25 - Greedy Algorithms Introduction

March 30 - Huffman Coding

April 1 - Belady Cache Replacement

Graph Algorithms

April 6 - Graph Introductions

April 8 - Shortest Paths

April 10 - Shortest Paths

April 13 - Max Flow

Reductions

April 15 - Introduction

April 20 - Additional Reductions, Intro to NP-Completeness

NP-Completeness

April 22 - NP-Completeness

Finale

April 27 - Join us for a live course finale

In-Person Schedule

This is a tentative full-semester schedule of topics addressed. As we go through the semester, we will add homework dates and adjust topics slightly as needed.

Date Topic Slides/Notes Readings Homework
Jan 13 Introduction Horton, Hott - HW0 out
Jan 15 Divide and Conquer Horton, Hott Ch 3, 4  
Jan 20 MLK Day - No class      
Jan 22 Karatsuba, Tree Method Horton, Hott, math Ch 4  
Jan 27 Guess and Check Horton, Hott, math Ch 4  
Jan 29 Master Theorem Horton, Hott, math    
Feb 3 Master Theorem, Substitution Horton, Brunelle/Hott Ch 4  
Feb 5 Closest Pair of Points, Strassen’s Algorithm Horton, Hott Ch 4, 33  
Feb 10 Quicksort, Quickselect, Median of Medians Horton, Brunelle/Hott Ch 7, 9  
Feb 12 Median of Medians, Randomized Quicksort, Sorting Horton, Hott Ch 7, 8  
Feb 17 Average-case Quicksort, Lower Bounds Sorting Horton, Hott Intro II, Ch 4, 6, 8  
Feb 19 Linear Time Sorting, MSCS Horton, Hott 6, 8  
Feb 24 Dynamic Programming Horton, Hott Ch 15  
Feb 26 Matrix Chain Multiplication Horton, Hott Ch 15  
Mar 2 Seam Carving, Longest Common Subsequence Horton, Hott Ch 15  
Mar 4 Midterm Exam      
Mar 9 Spring Break      
Mar 11 Spring Break