| Monday | Tuesday | Wednesday | R | F | Saturday |
|---|---|---|---|---|---|
|
3
|
4
|
5
|
6
|
7
|
8
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) |
|
Module 0: Orientation & Overview
10
|
11
|
Module 1: Algorithm Analysis
12
Class:
Chat option for asking questions Stable Matching (Gale–Shapley) Five Representative Problems Computational Tractability Class notes |
13
|
14
Deadline for full refund
Due: |
15
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 Times |
|
17
|
18
Before Class:
2.5 A More Complex Data Structure: Priority Queues |
19
Class:
Binary Search Algorithm Analysis Survey of Common Running Times Priority Queues & Heaps (exercises) Class notes |
20
|
21
|
22
Before Class:
3.1 Basic Definitions and Applications Chapter 5: Basic Graph Algorithms (optional) 3.2 Graph Connectivity and Graph Traversal Chapter 6: Depth-First Search (optional) 3.3 Implementing Graph Traversal Using Queues and Stacks |
|
Module 2: Graphs
24
|
25
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 Graphs |
26
|
27
|
28
|
29
Before Class:
3.6 Directed Acyclic Graphs and Topological Ordering
|
|
31
Class:
DAGs and Topological Ordering (exercises) Topological Sorting Algorithm: Running Time |
| Monday | Tuesday | Wednesday | R | F | Saturday |
|---|---|---|---|---|---|
|
1
Black Box Society Interest Meeting, 12:15 PM, SCCT 233 (Interest Meeting, Discord/csuinvolve)
Before Class: 4.1 Interval Scheduling: The Greedy Algorithm Stays Ahead 4.2 Scheduling to Minimize Lateness: An Exchange Argument Chapter 4: Greedy Algorithms (optional)
|
Module 3: Greedy Algorithms
2
Class:
Interval Scheduling (Earliest Finish Time First Demo) Interval Scheduling (Intuition) Interval Partitioning (Earliest Start Time First Demo) Interval Partitioning (Intuition) Scheduling to Minimize Lateness |
3
|
4
|
5
|
|
|
7
Labor Day (no class)
|
8
Before Class:
4.3 Optimal Caching: A More Complex Exchange Argument 4.4 Shortest Paths in a Graph
|
9
|
10
|
11
|
12
Before Class:
4.5 The Minimum Spanning Tree Problem 4.6 Implementing Kruskal's Algorithm: The Union-Find Data Structure
|
|
14
|
15
Before Class:
4.7 Clustering 4.8 Huffman Codes and Data Compression (optional)
|
16
|
17
|
18
|
19
Before Class:
5.1 A First Recurrence: The Mergesort Algorithm Section 1.4 Mergesort (optional) 5.2 Further Recurrence Relations |
|
Module 4: Divide and Conquer
21
|
22
Before Class:
Section 1.8: Linear-Time Selection (optional) 5.3 Counting Inversions 5.4 Finding the Closest Pair of Points |
23
Class:
Master Theorem Randomized Quickselect Counting Inversions Finding the Closest Pair of Points (exercise) Due: |
24
Turner College Career Fair 11 am - 2 pm Rec Center
|
25
|
26
Before Class:
5.5 Integer Multiplication 5.6 Convolutions and the Fast Fourier Transform (optional)
|
|
28
Class:
Finding the Closest Pair of Points (exercise) Integer Multiplication Exam 1 Preparation Game (Module 4) (on Teams) (topics) Due: |
29
|
30
|
| Monday | Tuesday | Wednesday | R | F | Saturday |
|---|---|---|---|---|---|
|
1
|
2
|
3
Before Class:
6.1 Weighted Interval Scheduling: A Recursive Procedure 6.2 Principles of Dynamic Programming: Memoization or Iteration over Subproblems Chapter 3: Dynamic Programming (optional) |
|||
|
Module 5: Dynamic Programming
5
Class:
Recap Exam 1 Advanced Algorithm Research Project Introduction Fibonacci Sequence Demo Dynamic Programming Intro |
6
Before Class:
6.3 Segmented Least Squares: Multi-way Choices 6.4 Subset Sums and Knapsacks: Adding a Variable |
7
|
8
|
9
|
10
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 Conquer
|
|
12
|
13
Before Class:
6.8 Shortest Paths in a Graph Chapter 8: Shorts Paths (optional) 6.9 Shortest Paths and Distance Vector Protocols
|
14
|
15
|
16
|
17
Before Class:
6.10 Negative Cycles in a Graph
|
|
19
Class:
Shortest Paths (exercises) Negative Cycles in a Graph (exercises) Due: |
20
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 Paths Chapter 10: Maximum Flows and Minimum Cuts (optional)
|
Module 6: Network Flow
21
|
22
|
23
|
24
Before Class:
7.4 The Preflow-Push Maximum-Flow Algorithm 7.5 A First Application: The Bipartite Matching Problem Chapter 11: Applications of Flows and Cuts (optional) |
|
26
Seniors can Register
Class: Maximum Flows and Minimum Cuts (Exercises) Capacity Scaling Algorithm (Exercises) Bipartite Matching |
27
Juniors can Register
Before Class: 7.6 Disjoint Paths in Directed and Undirected Graphs 7.7 Extensions to the Maximum-Flow Problem
|
28
|
29
Freshman can Register
|
30
|
31
Before Class:
7.8 Survey Design 7.9 Airline Scheduling
|
| Monday | Tuesday | Wednesday | R | F | Saturday |
|---|---|---|---|---|---|
|
2
|
3
Before Class:
7.10 Image Segmentation 7.11 Project Selection 7.12 Baseball Elimination
|
4
|
5
|
6
|
7
Before Class:
8.1 Polynomial-Time Reductions 8.2 Reductions via Gadgets: The Satisfiability Problem 8.3 Efficient Certification and the Definition of NP Chapter 12: NP-Hardness (optional)
|
|
Module 7: Intractability
9
|
10
Before Class:
8.4 NP-Complete Problems 8.5 Sequencing Problems
|
11
Class:
Course Evaluation Surveys Bonus Credit Explanation NP-Complete Problems Sequencing Problems Due: |
12
|
13
|
14
Before Class:
8.6 Partitioning Problems 8.7 Graph Coloring
|
|
16
|
17
|
18
|
19
|
20
|
21
|
|
23
Thanksgiving Break
|
24
Thanksgiving Break
|
25
Thanksgiving Break
|
26
Thanksgiving Break
|
27
Thanksgiving Break
|
28
|
|
Last Day of Lecture
30
|
| Monday | Tuesday | Wednesday | R | F | Saturday |
|---|---|---|---|---|---|
|
Study Day
1
Due:
Course Evaluation Surveys (submit evidence in CougarVIEW) |
Final Exam Time
2
Class:
Advanced Algorithm Team Research Project Presentations (4:15 – 6:15 PM) Due: |
3
|
4
|
5
|
Read sections in Algorithm Design
Read sections in Algorithms (optional)