| Monday | T | Wednesday | R | F |
|---|---|---|---|---|
|
Module 0: Orientation & Overview
11
Before Class:
Preface (10 pages) (Skim / read) (PDF available in CougarVIEW Announcements) Chapter 1: Introduction: Some Representative Problems (18 pages) (PDF available in CougarVIEW Announcements)Class: Introductions Syllabus Stable Matching (Gale–Shapley) (Demo) |
12
|
Module 1: Algorithm Analysis
13
Before Class:
2.1 Computational Tractability (PDF available in CougarVIEW Announcements)Class: Stable Matching (Gale–Shapley) Five Representative Problems Computational Tractability Class notes |
14
|
15
Deadline for full refund
Due: |
|
18
Before Class:
2.2 Asymptotic Order of Growth 0.6 Analyzing Algorithms (3 pages) (optional) 2.3 Implementing the Stable Matching Algorithm Using Lists and Arrays 2.4 A Survey of Common Running TimesClass: Asymptotic Order of Growth Implementing Gale–Shapley Survey of Common Running Times (Binary Search Demo) |
19
|
20
Internship Workshop 1-1:30 pm, Schuster Student Success Center, Rm. 208 (Virtual Option available) Register here, Flyer
Before Class: 2.5 A More Complex Data Structure: Priority QueuesClass: Binary Search Algorithm Analysis Survey of Common Running Times Priority Queues (exercises) Class notes Due: |
21
|
22
|
|
Module 2: Graphs
25
Before Class:
3.1 Basic Definitions and Applications 3.2 Graph Connectivity and Graph Traversal 3.3 Implementing Graph Traversal Using Queues and StacksClass: Priority Queues (exercises) Basic Definitions and Applications Graph Connectivity and Graph Traversal Graph Traversals (exercises) Class notes |
26
|
27
Turner College Welcome Back Event Noon - 2:00 PM (SCCT 2nd Floor Lobby)
Before Class: 3.4 Testing Bipartiteness: An Application of Breadth-First Search 3.5 Connectivity in Directed GraphsClass: Testing Bipartiteness Connectivity in Directed Graphs |
28
|
29
|
| Monday | T | Wednesday | R | F |
|---|---|---|---|---|
|
1
Labor Day (no class)
|
2
|
3
Internship Workshop 1-1:30 pm, Schuster Student Success Center, Rm. 208 (Virtual Option available) Register here
Before Class: 3.6 Directed Acyclic Graphs and Topological OrderingClass: DAGs and Topological Ordering (exercises) Topological Sorting Algorithm: Running Time Class notes |
4
|
5
|
|
Module 3: Greedy Algorithms
8
Before Class:
4.1 Interval Scheduling: The Greedy Algorithm Stays Ahead 4.2 Scheduling to Minimize Lateness: An Exchange ArgumentClass: Interval Scheduling (Earliest Finish Time First Demo, Earliest Start Time First Demo) Interval Partitioning (Intuition) Scheduling to Minimize Lateness |
9
|
10
Before Class:
4.3 Optimal Caching: A More Complex Exchange Argument 4.4 Shortest Paths in a GraphClass: Optimal Caching Dijkstra's Algorithm (Demos) |
11
|
12
|
|
15
Before Class:
4.5 The Minimum Spanning Tree Problem 4.6 Implementing Kruskal's Algorithm: The Union-Find Data Structure (optional)Class: Certificates Survey Dijkstra's Algorithm Minimum Spanning Trees (Prim's and Kruskal's Demo) Union-Find Data Structure (Class Notes) |
16
|
17
Before Class:
4.7 Clustering 4.8 Huffman Codes and Data Compression (optional)Class: Clustering Exam 1 Preparation Game (Modules 0 - 3) (on Teams) (topics) |
18
|
19
|
|
Module 4: Divide and Conquer
22
Before Class:
5.1 A First Recurrence: The Mergesort Algorithm 5.2 Further Recurrence RelationsClass: Recurrence of Mergesort (Merge Demo) Master Theorem |
23
Turner College Career Fair 12-2 PM Student Recreation Center (Extra Credit)
|
24
Before Class:
5.3 Counting Inversions 5.4 Finding the Closest Pair of PointsClass: Master Theorem Randomized Quickselect Counting Inversions Finding the Closest Pair of Points (exercise) Due: |
25
|
26
|
|
29
Before Class:
5.5 Integer Multiplication 5.6 Convolutions and the Fast Fourier Transform (optional)Class: Finding the Closest Pair of Points (exercise) Integer Multiplication Exam 1 Preparation Game (Module 4) (on Teams) (topics) Due: |
30
|
| Monday | T | Wednesday | R | F |
|---|---|---|---|---|
|
1
|
2
|
3
|
||
|
Module 5: Dynamic Programming
6
Before Class:
6.1 Weighted Interval Scheduling: A Recursive Procedure 6.2 Principles of Dynamic Programming: Memoization or Iteration over SubproblemsClass: Recap Exam 1 Advanced Algorithm Research Project Introduction Fibonacci Sequence Demo Dynamic Programming Intro |
7
|
8
Before Class:
6.3 Segmented Least Squares: Multi-way Choices 6.4 Subset Sums and Knapsacks: Adding a VariableClass: Segmented Least Squares (code) Subset Sums and Knapsacks (code 1, code 2) |
9
|
10
Deadline to Withdraw with a WP
|
|
13
Before Class:
6.5 RNA Secondary Structure: Dynamic Programming over Intervals 6.6 Sequence Alignment 6.7 Sequence Alignment in Linear Space via Divide and ConquerClass: Subset Sums and Knapsacks (code 1, code 2) RNA Secondary Structure Sequence Alignment Due: |
14
|
15
Before Class:
6.8 Shortest Paths in a Graph 6.9 Shortest Paths and Distance Vector ProtocolsClass: Shortest Paths (exercises) |
16
|
17
|
|
20
Seniors can Register
Before Class: 6.10 Negative Cycles in a GraphClass: Shortest Paths (exercises) Negative Cycles in a Graph (exercises) Due: |
21
Juniors can Register
|
Module 6: Network Flow
22
Sophomores can Register
Before Class: 7.1 The Maximum-Flow Problem and the Ford-Fulkerson Algorithm 7.2 Maximum Flows and Minimum Cuts in a Network 7.3 Choosing Good Augmenting PathsClass: Maximum-Flow Problem Ford–Fulkerson (Exercises) Maximum Flows and Minimum Cuts (Exercises) |
23
Freshman can Register
|
24
|
|
27
Before Class:
7.4 The Preflow-Push Maximum-Flow Algorithm 7.5 A First Application: The Bipartite Matching ProblemClass: Maximum Flows and Minimum Cuts (Exercises) Capacity Scaling Algorithm (Exercises) Bipartite Matching |
28
|
29
Before Class:
7.6 Disjoint Paths in Directed and Undirected Graphs 7.7 Extensions to the Maximum-Flow ProblemClass: Disjoint Paths Extensions to Max Flow |
30
|
31
|
| Monday | T | Wednesday | R | F |
|---|---|---|---|---|
|
3
Before Class:
7.8 Survey Design 7.9 Airline SchedulingClass: Survey Design (Chris, Alex, Brian & Bhavik) Airline Scheduling (C-dawg & Ganzler) |
4
|
5
Before Class:
7.10 Image Segmentation 7.11 Project Selection 7.12 Baseball EliminationClass: Image Segmentation (Dr. & Lebron) Project Selection (A-dog & Hyrum) Baseball Elimination (Jdawg & Fernando) |
6
|
7
|
|
Module 7: Intractability
10
Before Class:
8.1 Polynomial-Time Reductions 8.2 Reductions via Gadgets: The Satisfiability Problem 8.3 Efficient Certification and the Definition of NPClass: Poly-Time Reductions Packing and Covering Problems Reductions via Gadgets: The Satisfiability Problem Efficient Certification and the Definition of NP |
11
|
12
Before Class:
8.4 NP-Complete Problems 8.5 Sequencing ProblemsClass: NP-Complete Problems Sequencing Problems Due: |
13
|
14
|
|
17
Before Class:
8.6 Partitioning Problems 8.7 Graph ColoringClass: Partitioning Problems Graph Coloring Exam 2 Preparation Game (on Teams) (topics) |
18
|
19
|
20
|
21
|
|
24
Thanksgiving Break
|
25
Thanksgiving Break
|
26
Thanksgiving Break
|
27
Thanksgiving Break
|
28
Thanksgiving Break
|
| Monday | T | Wednesday | R | F |
|---|---|---|---|---|
|
1
Course Evaluation Survey Closes
Work on Advanced Algorithm Research Project Class: Review Exam 2 |
Study Day
2
Due:
Course Evaluation Surveys |
3
|
4
|
Final Exam Time
5
Class:
Advanced Algorithm Research Project Presentations (4:15 – 6:15 PM) |
Read sections in Algorithm Design
Read sections in Algorithms (optional)