Instructor |
Navigate to a topic: Algorithm Analysis | Divide and Conquer | Sorting | Fundamental Graph Algorithms | Dynamic Programming | Greedy Algorithms| Network Flow| Intractable Problems
Lecture | Date | Description | Course Materials | |
---|---|---|---|---|
Lecture 1 | 8/15 |
Introduction
Concepts: What is a better algorithm?
|
||
Lecture 2 | 8/17 |
Algorithm Analysis
Concepts: Correctness of the Insertion Sort
|
||
Lecture 3 | 8/20 |
Algorithm Analysis
Concepts: Insertion Sort runtime analysis
|
||
Lecture 4 | 8/22 |
Divide and Conquer
Concepts:Correctness of MergeSort
|
||
Lecture 5 | 8/24 |
Divide and Conquer
Concepts:MergeSort runtime analysis
|
[HW1 Out] | |
Lecture 6 | 8/27 |
Randomized
Concepts:Correctness of QuickSort
|
||
Lecture 7 | 8/29 |
Randomized
Concepts: QuickSort runtime analysis
|
||
Lecture 8 | 8/31 |
Sorting Lower Bounds
Concepts: Reach linear-time sorting
|
Quiz 1 in class [HW2 Out] |
|
Lecture 9 | 9/5 |
Sorting Lower Bounds
Concepts: Reach linear-time sorting
|
[Program 1 Out] | |
Lecture 10 | 9/7 |
Divide and Conquer
Concepts: Median Finding
|
Quiz 2 in class [HW3 Out] |
|
Lecture 11 | 9/10 |
Divide and Conquer
Concepts:Median Finding
|
||
Lecture 12 | 9/12 |
Divide and Conquer
Concepts: Recap
|
||
Lecture 13 | 9/14 |
Fundamental Graph Algorithms
Concepts:Graph Intro
|
Quiz 3 in class [HW4 Out] |
|
Lecture 14 | 9/17 |
Fundamental Graph Algorithms
Concepts: DFS
|
||
Lecture 15 | 9/19 |
Fundamental Graph Algorithms
Concepts: Topological Sort
|
Program 1 Due | |
Lecture 16 | 9/21 |
Fundamental Graph Algorithms
Concepts: BFS
|
Quiz 4 in class [HW5 Out] |
|
Lecture 17 | 9/24 |
Fundamental Graph Algorithms
Concepts: Strongly Connected Components
|
||
Lecture 18 | 9/26 |
Fundamental Graph Algorithms
Concepts: Strongly Connected Components
|
||
Lecture 19 | 9/28 |
Fundamental Graph Algorithms
Concepts: Dijkstra's
|
Quiz 5 in class [Review Assignment 1 Out] |
|
Lecture 20 | 10/1 |
Fundamental Graph Algorithms
Concepts: Dijkstra's
|
||
Lecture 21 | 10/3 |
Dynamic Programming
Concepts: Intro to Dynamic Programming
|
||
Lecture 22 | 10/5 | MIDTERM | [HW6 Out] | |
Lecture 23 | 10/10 |
Dynamic Programming
Concepts: Bellman Ford
|
||
Lecture 24 | 10/12 |
Dynamic Programming
Concepts: Bellman Ford
|
Quiz 6 in class [HW7 Out] |
|
Lecture 25 | 10/15 |
Dynamic Programming
Concepts: Longest Common Subsequence
|
||
Lecture 26 | 10/17 |
Dynamic Programming
Concepts: Longest Common Subsequence
|
[Program 2 Out] | |
Lecture 27 | 10/19 |
Dynamic Programming
Concepts: Knapsack
|
Quiz 7 in class [HW8 Out] |
|
Lecture 28 | 10/22 |
Dynamic Programming
Concepts: Knapsack
|
||
Lecture 29 | 10/24 |
Greedy Algorithms
Concepts: Activity Selection
|
||
Lecture 30 | 10/26 |
Greedy Algorithms
Concepts: Job Scheduling
|
Quiz 8 in class [HW9 Out] |
|
Lecture 31 | 10/29 |
Greedy Algorithms
Concepts: Minimum Spanning Tree
|
||
Lecture 32 | 10/31 |
Greedy Algorithms
Concepts: Minimum Spanning Tree
|
Program 2 due | |
Lecture 33 | 11/2 |
Greedy Algorithms
Concepts: Minimum Spanning Tree
|
Quiz 9 in class [HW10 Out] |
|
Lecture 34 | 11/5 |
Network Flow
Concepts: Minimum Cuts
|
||
Lecture 35 | 11/7 |
Network Flow
Concepts: Minimum Cuts, Maximum Flow
|
[Program 3 Out] | |
Lecture 36 | 11/9 |
Network Flow
Concepts: Maximum Flow
|
Quiz 10 in class [HW11 Out] |
|
Lecture 37 | 11/12 |
Network Flow
Concepts: Maximum Flow
|
||
Lecture 38 | 11/14 |
Intractable Problems
Concepts: P vs. NP
|
||
Lecture 39 | 11/16 |
Intractable Problems
Concepts: Traveling Salesman
|
Quiz 11 in class [HW12 Out] |
|
Lecture 40 | 11/19 |
Intractable Problems
Concepts: Vertex Cover
|
Program 3 due | |
Lecture 41 | 11/26 |
Intractable Problems
Concepts: Reductions
|
||
Lecture 42 | 11/28 |
Wrap Up
Concepts: Concluding Remarks
|
Quiz 12 in class [Review Assignment 2 Out] |
|
12/6 | FINAL EXAM: 8:00 to 10:00 am |