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:

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
Reading:
Skiena §11.3
Wed: 12/08 Creative Reductions
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