Course Syllabus

WeekTopic & Chapters
Week 1Introduction to Algorithms (Chapter 1)
Week 2Getting Started: Insertion Sort & Merge Sort (Chapter 2)
Week 3Asymptotic Analysis & Running Times (Chapter 3)
Week 4Divide-and-Conquer, Recurrences, Master Method (Chapter 4)
Week 5Probabilistic Analysis & Randomized Algorithms (Chapter 5)
Week 6Heapsort & Quicksort (Chapters 6–7)
Week 7Linear-Time Sorting & Order Statistics (Chapters 8–9)
Week 8Midterm Exam
Week 9Elementary Data Structures (Chapter 10)
Week 10 Binary Search Trees (Chapter 12)
(Optionally include key ideas from Hash Tables in Chapter 11 if time permits)
Week 11Dynamic Programming (Chapter 14)
Week 12Greedy Algorithms (Chapter 15)
Week 13Graph Algorithms I: Basic Traversals (Chapter 20)
Week 14Graph Algorithms II: MST & Shortest Paths (Chapters 21–22)
Week 15 NP-Completeness & Related Topics
(or alternatively Number-Theoretic Algorithms, e.g. Chapter 31, for cybersecurity relevance)
Week 16Final Exam