Schedule
The mapping of topics to weeks is a rough guide. Some topics may be interleaved across weeks.
The term runs 08/31/2026 – 12/11/2026 (15 weeks). Classes are scheduled MWF, in person, in Shaffer 306. I teach two sections; attend the section you are registered for:
- Section 1: 12:00 PM – 01:15 PM Eastern
- Section 2: 01:30 PM – 02:45 PM Eastern
See Approach to Instruction for more on how lecture time is used.
Important dates
Three tests plus a comprehensive final exam. Both sections take every test and the final exam together, at the same time and place. This is not per-section. Tests are held at a common evening time, not during the regular class period, and the final exam is during the university’s final exam period. See Exams for more details.
Each test covers material up to and including the week before the week of the test. Whatever is covered during the week of the test itself is not on that test.
| Test | Date | Time | Location | Coverage |
|---|---|---|---|---|
| 1 | Thu, October 8 | 6:00–8:00 PM | Hackerman B17 | Through Week 5 |
| 2 | Thu, October 29 | 6:00–8:00 PM | Hackerman B17 | Through Week 8 |
| 3 | Thu, November 19 | 6:00–8:00 PM | Hackerman B17 | Through Week 11 |
The final exam is comprehensive. It covers all material from the course.
| Final Exam | Time | Location |
|---|---|---|
| Tue, December 15 | 2:00–5:00 PM | TBA |
Two optional homework assignments (graded with feedback, but not counted toward your course grade — see Syllabus):
| Homework | Topic | Released | Due |
|---|---|---|---|
| 1 | Sorts and Search | Mon, Oct 12, 9:00 AM | Mon, Oct 19, 5:00 PM |
| 2 | Graph and Shortest Path | Mon, Nov 30, 9:00 AM | Mon, Dec 7, 5:00 PM |
Other dates:
- First day of classes: Mon, Aug 31
- Labor Day (no class): Mon, Sep 7
- Last day to add courses and waitlists end: Fri, Sep 11
- Last day to drop courses: Mon, Oct 12
- Fall Break: Thu, Oct 22 – Fri, Oct 23 (no class Fri, Oct 23)
- Last day to withdraw from courses: Fri, Nov 13
- Fall Recess (no class): Mon, Nov 23 – Fri, Nov 27
- Last day of classes: Fri, Dec 11
Week 1 — Aug 31 to Sep 4
- The Dynamic Array
- Generics
- The Sorted Array
Week 2 — Sep 7 to Sep 11
- Asymptotic Analysis
- Complexity Analysis
- No class Mon, Sep 7 (Labor Day).
Week 3 — Sep 14 to Sep 18
- Sorting Algorithms
- Lists Without Arrays
- Building a LinkedList
Week 4 — Sep 21 to Sep 25
- The List ADT
- Testing
- The Stack
Week 5 — Sep 28 to Oct 2
- The Queue
- The Deque
Week 6 — Oct 5 to Oct 9
- Maze Solving
- The Set
- Iterators
- Test 1 — Thu, Oct 8 (evening, Hackerman B17). Material through Week 5.
Week 7 — Oct 12 to Oct 16
- The Map
- Recursion and Trees
- The Binary Search Tree
- Homework 1 released — Mon, Oct 12, 9:00 AM (sorts and search: quadratic sorts, binary search, move-to-front/transpose heuristics). Optional, graded with feedback, does not count toward your course grade.
Week 8 — Oct 19 to Oct 23
- The AVL Tree
- TreeSet and TreeMap
- Homework 1 due — Mon, Oct 19, 5:00 PM.
- No class Fri, Oct 23 (Fall Break).
Week 9 — Oct 26 to Oct 30
- The Priority Queue
- The Binary Heap
- Heapsort
- Test 2 — Thu, Oct 29 (evening, Hackerman B17). Material through Week 8.
Week 10 — Nov 2 to Nov 6
- The Adaptive Priority Queue
- Hashing
- Separate Chaining
Week 11 — Nov 9 to Nov 13
- Open Addressing
- Quicksort
- The Graph
Week 12 — Nov 16 to Nov 20
- Graph Search
- Shortest Paths
- Test 3 — Thu, Nov 19 (evening, Hackerman B17). Material through Week 11.
Week 13 — Nov 23 to Nov 27
- No class all week (Fall Recess).
Week 14 — Nov 30 to Dec 4
- Minimum Spanning Trees
- Disjoint Sets and Union-Find
- Homework 2 released — Mon, Nov 30, 9:00 AM (graph and shortest path). Optional, graded with feedback, does not count toward your course grade.
Week 15 — Dec 7 to Dec 11
- Linear-Time Sorting (counting sort, radix sort, bucket sort)
- Homework 2 due — Mon, Dec 7, 5:00 PM.
Final Exam
- Tue, Dec 15, 2:00–5:00 PM. Comprehensive.