Schedule
Below is the tentative course schedule for the term. The “tentative” is key since the schedule will almost certainly change throughout the term.
If a reading references “Skiena”, it is referring to the textbook we are using for the class. Cowles Library offers the textbook to students free of charge at the following URL:
- The Algorithm Design Manual, Third Edition, Steven S. Skiena, 2020.
Week 1 | |||||
---|---|---|---|---|---|
Mon: 08/30 |
Introduction to Algorithms
Slides Printable |
Reading: Skiena §§1.0–1.6 Skiena §§1.7–1.9 (optional) |
|||
Wed: 09/01 |
Asymptotic Notation
Slides Printable |
Reading: Skiena §§2.0–2.4 |
Due:
Assignment 1 Daily Exercise 1 |
||
Week 2 | |||||
Wed: 09/08 |
Asymptotic Notation, Continued
Slides Printable |
Reading: Skiena §§2.5–2.7 Skiena §§2.8–2.10 (optional) |
Due:
Reflection 1 Daily Exercise 2 |
||
Week 3 | |||||
Mon: 09/13 |
Elementary Data Structures
Slides Printable |
Reading: Skiena §§3.0–3.3 |
Due:
Reflection 2 Daily Exercise 3 |
||
Wed: 09/15 |
Binary Search Trees
Slides Printable |
Reading: Skiena §3.4 Skiena §§3.5–3.6 (optional) |
Due:
Reflection 3 Daily Exercise 4 |
||
Week 4 | |||||
Mon: 09/20 |
Hashtables
Slides Printable |
Reading: Skiena §3.7 Skiena §§3.8–3.9 (optional) |
Due:
Reflection 4 Daily Exercise 5 |
||
Wed: 09/22 |
Introduction to Sorting
Slides Printable |
Reading: Skiena §§4.0–4.2 |
Due:
Reflection 5 |
||
Week 5 | |||||
Mon: 09/27 |
Heapsort
Slides Printable |
Reading: Skiena §4.3 |
Due:
Daily Exercise 6 |
||
Wed: 09/29 |
Mergesort and Quicksort
Slides Printable |
Reading: Skiena §§4.4–4.6 Skiena §§4.7–4.8 (optional) |
Due:
Reflection 6 |
||
Week 6 | |||||
Mon: 10/04 |
Divide and Conquer Algorithms
Slides Printable |
Reading: Skiena §§5.0, 5.1, 5.3 Skiena §5.2 (optional) |
Due:
Daily Exercise 7 |
||
Wed: 10/06 |
The Master Theorem
Slides Printable |
Reading: Skiena §§5.4–5.6 Skiena §§5.7–5.9 (optional) |
Due:
Reflection 7 Daily Exercise 8 |
||
Week 7 | |||||
Mon: 10/11 |
Midterm Exam 1
|
Due:
Reflection 8 |
|||
Wed: 10/13 |
Introduction to Graphs
Slides Printable |
Reading: Skiena §§7.0–7.2 Skiena §§7.3–7.4 (optional) |
|||
Week 8 | |||||
Wed: 10/20 |
Graph Traversals
Slides Printable |
Reading: Skiena §§7.5–7.9 |
|||
Week 9 | |||||
Mon: 10/25 |
Topological Sort
Slides Printable |
Reading: Skiena §7.10 |
|||
Wed: 10/27 |
Minimum Spanning Trees
Slides Printable |
Reading: Skiena §§8.0–8.1 Skiena §8.2 (optional) |
Assignment 2 |
||
Week 10 | |||||
Mon: 11/01 |
MSTs, Continued
Slides Printable |
||||
Wed: 11/03 |
Shortest Paths
Slides Printable |
Reading: Skiena §8.3 Skiena §8.4 (optional) |
|||
Week 11 | |||||
Mon: 11/08 |
Dynamic Programming
Slides Printable |
Reading: Skiena §§10.0–10.1 |
Due:
Daily Exercise 9 |
||
Wed: 11/10 |
Examples of Dynamic Programming
Slides Printable |
Reading: Skiena §§10.2–10.3 Skiena §§10.4–10.8 (optional) |
Due:
Reflection 9 Daily Exercise 10 |
||
Week 12 | |||||
Mon: 11/15 |
Limitations of Dynamic Programming
Slides Printable |
Reading: Skiena §10.9 Skiena §10.10 (optional) |
Due:
Reflection 10 Daily Exercise 11 |
||
Wed: 11/17 |
Pause for Breath
Slides Printable |
Due:
Reflection 11 |
|||
Week 13 | |||||
Mon: 11/22 |
Midterm Exam 2
|
||||
Week 14 | |||||
Mon: 11/29 |
P vs. NP Sipser Video |
||||
Wed: 12/01 |
NP-Completeness
Slides Printable |
Reading: Skiena §§11.0–11.2 |
|||
Week 15 | |||||
Mon: 12/06 |
Elementary Reductions
Slides Printable |
Reading: Skiena §11.3 |
|||
Wed: 12/08 |
Creative Reductions
Slides Printable |
Reading: Skiena §§11.4–11.6 Skiena §11.7–11.8 (optional) |
Assignment 3 |
||
Final Evaluation Week | |||||
Tue: 12/14 |
Final Examination 2:00--3:50pm, Collier-Scripps Hall 0301 |