This sequence follows the eleven course modules and the Fall 2026 Friday calendar. Brightspace is the official
source for assigned readings, submission instructions, and any announced calendar changes.
August 28 | Module 1: Introduction to Algorithms
Course requirements and the Git/GitHub workflow; algorithm fundamentals and real-world uses;
correctness, termination, and efficiency; the design-implement-analyze-experiment cycle; and an
introduction to algorithm types and running-time analysis.
Reading assigned
September 4 | Module 2: Analyzing and Designing Algorithms
Insertion sort, loop invariants, algorithm analysis, merge sort, and the divide-and-conquer pattern.
Assignment 1 Assigned
Homework / Reading
September 11 | No Class
No classes are scheduled under the Fall 2026 academic calendar.
September 18 | Module 3: Characterizing Running Time
Growth of functions, asymptotic notation, common complexity classes, best/worst/average cases, and
communicating performance claims.
Homework / Reading
September 25 | Module 4: Divide and Conquer
Recursive decomposition, recurrence relations, substitution and recursion-tree reasoning, and selected
divide-and-conquer applications.
Assignment 1 Due
Project Topic Selection
October 2 | Module 5: Heapsort and Quicksort
Binary heaps, heap operations, heapsort, quicksort partitioning, randomized choices, and comparative
performance.
Assignment 2 Assigned
Homework / Reading
October 9 | Modules 1–5 Review and Analysis Workshop
Guided complexity-analysis practice, sorting comparisons, recurrence review, and preparation for the
midterm examination.
Project Proposal / Plan
Midterm Review
October 16 | Midterm Examination
Midterm assessment covering Modules 1–5, followed by a brief introduction to the next unit if time
permits.
Midterm Exam
October 23 | Module 6: Linear-Time Sorting Algorithms
Comparison-sort lower bounds, counting sort, radix sort, bucket sort, and the assumptions that make
linear-time performance possible.
Assignment 2 Due
October 30 | Module 7: Binary Search Trees and Red-Black Trees
Search-tree properties, traversal, search, insertion, deletion, predecessor/successor operations, and
balanced-tree motivation.
Assignment 3 Assigned
Homework / Reading
November 6 | Module 8: Graph Algorithms
Graph representations, breadth-first search, depth-first search, reachability, connected components, and
topological ordering.
Project Checkpoint
November 13 | Module 9: Single-Source Shortest Paths
Relaxation, Bellman-Ford, Dijkstra's algorithm, negative-weight considerations, correctness, and
implementation tradeoffs.
Assignment 3 Due
Assignment 4 Assigned
November 20 | Module 10: Greedy Algorithms
Greedy-choice reasoning, fractional knapsack, Huffman coding, proof strategies, and recognizing when a
greedy approach is appropriate.
Homework / Reading
November 27 | No Class
College closed for the Thanksgiving recess.
December 4 | Module 11: Dynamic Programming
Optimal substructure, overlapping subproblems, memoization, bottom-up solutions, and selected optimization
problems.
Assignment 4 Due
Project Draft / Testing Check
December 11 | Project Presentations and Final Review
Project demonstrations and presentations, cross-module synthesis, final-exam preparation, and remaining
course questions.
Project Due
Final Review
December 18 | Final Examination
Exam time: 1:00 PM–3:00 PM, following the published Fall 2026 undergraduate final-exam
schedule for a Friday class meeting from 10:50 AM–1:30 PM.
Final Exam