| Monday | Tuesday | Wednesday | Thursday | F |
|---|---|---|---|---|
|
10
Before Class:
Chapters 1, 2, 3 (if needed)
|
Module 1: Computational Complexity & Recursion
11
Class:
Introductions Syllabus Algorithm Analysis (exercises) Recursion (GCD.java, BinarySearch.java) Class Notes |
12
Before Class:
Sections 4.0 Divide-and-Conquer introduction - 4.5 The master method for solving recurrences (if needed) Chapter 6 (if needed)
|
Module 2: Sorting Algorithms
13
|
14
Deadline for full refund
|
|
17
Before Class:
Section 6.4 and Chapter 7 (if needed)
|
18
Class:
Sorting Algorithms (exercises) |
19
Before Class:
Chapters 8, 9 (if needed)
|
20
|
21
|
|
24
Before Class:
Chapter 10 - Elementary Data Structures |
Module 3: Dynamic Data Structures & Hashing
25
Class:
Sorting Algorithms (exercises) Stacks and Queues (exercises) Linked Lists (exercises) Class Notes |
26
Before Class:
Chapter 11 - Hashing |
27
|
28
|
|
31
Before Class:
|
| Monday | Tuesday | Wednesday | Thursday | F |
|---|---|---|---|---|
|
1
Black Box Society Interest Meeting, 12:15 PM, SCCT 233 (Interest Meeting, Discord/csuinvolve)
Class: Hashing (exercises) Hash Table Team Research Project |
2
Before Class:
Chapter 12 - Binary Search Trees |
Module 4: Binary Search Trees
3
Class:
Binary Search Trees (exercises) |
4
|
|
|
7
Labor Day (no classes)
Before Class: Sections 14.0 Dynamic Programming introduction - 14.3 Elements of dynamic programming (31 pages) |
Module 5: Dynamic Programming
8
Class:
Dynamic Programming
|
9
Before Class:
Section 14.4 Longest common subsequence (8 pages) (Optional) Section 14.5 Optimal binary search trees (6 pages)
|
10
|
11
|
|
14
Before Class:
Sections 15.0 Greedy Algorithms introduction - 15.2 Elements of the greedy strategy |
Module 6: Greedy Algorithms
15
Class:
Greedy Algorithms (exercises) |
16
Before Class:
Section 15.3 Huffman codes - 15.4 Offline caching |
17
Class:
Greedy Algorithms (exercises) |
18
|
|
21
Before Class:
Sections 20.0 Elementary Graph Algorithms introduction - 20.1 Representations of graphs |
Module 7: Elementary Graph Algorithms
22
Class:
Elementary Graph Algorithms (exercises) |
23
|
24
Turner College Career Fair 11 am - 2 pm Rec Center
Class: Elementary Graph Algorithms (exercises) Due: |
25
|
|
28
Before Class:
Section 20.4 Topological sort |
29
Class:
Elementary Graph Algorithms (exercises) |
30
Before Class:
Section 20.5 Strongly connected components
|
| Monday | Tuesday | Wednesday | Thursday | F |
|---|---|---|---|---|
|
1
Class:
Elementary Graph Algorithms (exercises) |
2
|
|||
|
5
Before Class:
Chapter 21 - Minimum Spanning Trees (19 pages) |
Module 8: Minimum Spanning Trees
6
|
7
|
8
|
9
|
|
12
|
13
|
14
Before Class:
Sections 22.0 Single-Source Shortest Paths Introduction - 22.2 Single-source shortest paths in directed acyclic graphs (17 pages) |
Module 9: Single-Source Shortest Paths
15
Class:
Single-Source Shortest Paths (exercises) Due: |
16
|
|
19
Registration Opens for Graduate Students
Before Class: Section 22.3 Dijkstra's algorithm - 22.4 Difference constraints and shortest paths
|
20
Class: Single-Source Shortest Paths (LINK: exercises |
21
Before Class:
Sections 26.0 Parallel Algorithms introduction - 26.1 The basics of fork-join parallelism (23 pages) |
Module 10: Parallel Algorithms
22
|
23
|
|
26
Before Class:
Section 26.2 Parallel matrix multiplication - 26.3 Parallel merge sort (13 pages)
|
27
|
28
Before Class:
Sections 29.0 Linear Programming introduction - 29.2 Formulating problems as linear programs (17 pages)
|
Module 11: Linear programming
29
Class:
Linear Programming (slides) |
30
|
| Monday | Tuesday | Wednesday | Thursday | F |
|---|---|---|---|---|
|
2
Before Class:
Section 29.3 Duality (7 pages)
|
3
Class:
Linear Programming (slides) |
4
Before Class:
Sections NP-Completeness introduction - 34.3 NP-completeness and reducibility (31 pages)
|
Module 12: NP-Completeness
5
Class:
NP-Completeness (slides) |
6
|
|
9
Before Class:
Sections 34.4 NP-completeness proofs - 34.5 NP-complete problems (27 pages)
|
10
|
11
Before Class:
Sections 35.0 Approximation Algorithms introduction - 35.3 The set-covering problem (17 pages)
|
Module 13: Approximation Algorithms
12
Class:
Approximation Algorithms (slides) Due: |
13
|
|
16
Before Class:
Sections 35.4 Randomization and linear programming - 35.5 The subset-sum program (12 pages)
|
17
Class:
Approximation Algorithms (slides) Due: |
18
|
Last Day of Lecture
19
|
20
|
|
23
Thanksgiving Break
|
24
Thanksgiving Break
|
25
Thanksgiving Break
|
26
Thanksgiving Break
|
27
Thanksgiving Break
|
|
30
Course Evaluation Survey Closes
|
| Monday | Tuesday | Wednesday | Thursday | F |
|---|---|---|---|---|
|
Study Day
1
|
2
|
3
|
4
|
|
|
7
|
8
|
9
|
10
|
11
|
Read Chapter / Section(s) in Introduction to Algorithms, 4th Edition