Algorithms Course Lecture Schedule
Note: This lecture schedule is tentative and subject to change. Adjustments may be made based on student feedback, class progress, and unforeseen circumstances. Every effort will be made to maintain the planned schedule, and any changes will be communicated to students in a timely manner through Canvas announcements and in-class updates.
MODULE 1: FUNDAMENTALS OF ALGORITHM ANALYSIS (Weeks 1–3)
Week 1: Introduction and Asymptotic Analysis
Date |
Lecture Topic |
Details |
Aug 26 (Tuesday) |
Intro & Asymptotic Analysis I |
- Course logistics and expectations
- Definition and examples of algorithms
- Rate of growth and efficiency
- Introduction to asymptotic notation
Assessments: None
Reading Materials:
- K&T Ch 1.1, 2.1
- DPV Ch 0.1-0.2
|
Aug 28 (Thursday) |
Asymptotic Analysis II |
- Big-O notation (formal definition)
- Big-Omega and Big-Theta notations
- Common growth functions and relationships
- Analysis of iterative algorithms (examples)
Assessments:
- Quiz 1 (Syllabus & Intro Lecture) due
Reading Materials:
|
Week 2: Mathematical Foundations
Date |
Lecture Topic |
Details |
Sep 2 (Tuesday) |
Recursion & Mathematical Induction |
- Introduction to recursive algorithms
- Base cases and recursive cases
- Mathematical induction principles
- Proving correctness of recursive algorithms
Reading Materials:
- K&T Ch 2.4
- DPV Ch 0.3 + Exercises
|
Sep 4 (Thursday) |
Divide-and-Conquer Approach |
- Introduction to divide-and-conquer paradigm
- General problem-solving strategy
- Analyzing divide-and-conquer algorithms
- Setting up and solving recurrence relations
Assessments:
- PS1 (Asymptotic Analysis and Recursion) released
Reading Materials:
- K&T Ch 5.1-5,2
- DPV Ch 2.2
|
Week 3: Sorting Algorithms
Date |
Lecture Topic |
Details |
Sep 9 (Tuesday) |
Sorting Lower Bounds |
- Brief overview of elementary sorts
- Proof of Ω(n log n) lower bound for comparison sorts
- Merge sort algorithm and implementation
- Analysis of merge sort using recurrence relations
Reading Materials:
|
Sep 11 (Thursday) |
QuickSort & HeapSort |
- Quicksort algorithm and partitioning strategies
- Average and worst-case analysis of quicksort
- Heapsort algorithm and analysis
- Brief introduction to non-comparison sorts
Assessments:
- Quiz 2 (Recursion/Divide and Conquer) due
Reading Materials:
- K&T Ch 13.5
- DPV Ch 2.3 + Exercises
|
MODULE 2: GRAPH ALGORITHMS AND GREEDY STRATEGIES (Weeks 4-5)
Week 4: Greedy Algorithms
Date |
Lecture Topic |
Details |
Sep 16 (Tuesday) |
Greedy Algorithms I: Minimum Spanning Trees |
- Greedy algorithm design principles
- Greedy choice property and optimal substructure
- Minimum spanning tree problem
- Prim’s algorithm (implementation and analysis)
- Kruskal’s algorithm and union-find data structure
Reading Materials:
- K&T Ch 4.1-4.2, 4.5-4.6
- DPV Ch 5.1
|
Sep 18 (Thursday) |
Greedy Algorithms II: Shortest Paths |
- Dijkstra’s shortest path algorithm
- Implementation using priority queues
- Bellman-Ford algorithm for negative edges
- Detecting negative cycles
- Comparison between approaches
Assessments:
- PS1 due (extended to two weeks for first assignment)
- PS2 (Graph Algorithms) released
- Quiz 3 (Greedy) due
Reading Materials:
- K&T Ch 4.4
- DPV Ch 4.5-4.6
|
Week 5: Graph Decomposition and More Greedy Algorithms
Date |
Lecture Topic |
Details |
Sep 23 (Tuesday) |
Huffman Coding |
- Data compression concepts
- Prefix codes and their properties
- Huffman coding algorithm
- Proof of optimality and analysis
- Applications in compression systems
Reading Materials:
|
Sep 25 (Thursday) |
Strongly Connected Components & Biconnected Components |
- Kosaraju’s algorithm for SCCs (2-pass DFS)
- Tarjan’s algorithm for SCCs and bridges
- Applications in compiler optimization and network reliability
- Proofs of correctness and complexity analysis
Assessments:
- Quiz 4 (Greedy Algorithms II) due
- Discussion 1 (Greedy vs DP) due
- Peer Review 1 (Code) due
Reading Materials:
- K&T Ch 3.5 (Strong Connectivity)
- DPV Ch 3.3-3.4 (Depth-First Search in Directed Graphs)
- Bonus: Tarjan’s original paper excerpts (provided)
|
MODULE 3: DYNAMIC PROGRAMMING (Weeks 6-7)
Week 6: Introduction to Dynamic Programming
Date |
Lecture Topic |
Details |
Sep 30 (Tuesday) |
Dynamic Programming I |
- Dynamic programming principles
- Overlapping subproblems and optimal substructure
- Memoization vs. tabulation approaches
- Rod cutting and making change problems
- 0/1 Knapsack problem and solution
Assessments:
- PS2 due (moved earlier to avoid conflict with midterm)
- PS3 (Dynamic Programming) released
Reading Materials:
- K&T Ch 6.1-6.2, 6.4
- DPV Ch 6.1-6.2, 6.4
|
Oct 2 (Thursday) |
Midterm Exam |
- Comprehensive examination of topics covered so far
Assessments:
|
Week 7: Advanced Dynamic Programming
Date |
Lecture Topic |
Details |
Oct 7 (Tuesday) |
Dynamic Programming II: LCS & Edit Distance |
- Longest common subsequence
- Longest increasing subsequence
- Edit distance problem
- Applications in computational biology and text processing
Reading Materials:
|
Oct 9 (Thursday) |
No Class – Fall Break Begins |
Students are encouraged to use Fall Break to make progress on PS3. The due date for PS3 has been set with the break in mind, providing additional time for completion.
|
MODULE 4: COMPLEXITY AND APPROXIMATION (Weeks 8-10)
Week 8: NP-Completeness
Date |
Lecture Topic |
Details |
Oct 14 (Tuesday) |
NP-Completeness I |
- Decision problems and language recognition
- Complexity classes (P, NP, co-NP)
- NP-completeness and reductions
- Cook’s theorem and SAT problem (overview)
Reading Materials:
- K&T Ch 8.3-8.4
- DPV Ch 8.1-8.2
|
Oct 16 (Thursday) |
NP-Completeness II: Reductions |
- Famous NP-complete problems
- Reduction techniques
- Practice with reductions
- Implications of NP-completeness
Assessments:
- Quiz 5 (DP) due
- PS3 due
- PS4 (NP-Completeness) released
Reading Materials:
- K&T Ch 8.3-8.5
- DPV Ch 8.3
|
Week 9: Approximation and Randomized Algorithms
Date |
Lecture Topic |
Details |
Oct 21 (Tuesday) |
Approximation Algorithms |
- Approximation ratio
- Approximation schemes (PTAS, FPTAS)
- Examples: traveling salesman problem, vertex cover
- Performance guarantees and inapproximability
Reading Materials:
- K&T Ch 11.1-11.3
- DPV Ch 9.2
|
Oct 23 (Thursday) |
Randomized Algorithms |
- Randomization in algorithm design
- Las Vegas vs. Monte Carlo algorithms
- Randomized quicksort
- Randomized selection algorithm
- Analysis of expected running time
Assessments:
- Quiz 6 (NP) due
- Peer Review 2 (Proofs) due
Reading Materials:
- K&T Ch 13.1, 13.3
- DPV Ch 1.5, 2.5
|
Week 10: String Algorithms
Date |
Lecture Topic |
Details |
Oct 28 (Tuesday) |
String Matching: KMP Algorithm |
- Naive string matching
- Rabin-Karp algorithm
- Knuth-Morris-Pratt algorithm
- Applications and performance comparison
Reading Materials:
|
Oct 30 (Thursday) |
Computational Geometry |
- Convex hull algorithms
- Line intersection problems
- Closest pair of points
- Applications in computer graphics and robotics
Assessments:
- Quiz 7 (Approximation) due
- PS4 due
- PS5 (Advanced Topics) released
Reading Materials:
|
MODULE 5: ADVANCED TOPICS (Weeks 11-13)
Week 11: Network Flow
Date |
Lecture Topic |
Details |
Nov 4 (Tuesday) |
Network Flow I: Ford-Fulkerson |
- Flow networks and terminology (capacity, flow, residual networks)
- Maximum flow problem
- Ford-Fulkerson method
- Analysis and implementation considerations
Reading Materials:
- K&T Ch 7.1-7.2
- DPV Ch 7.2
|
Nov 6 (Thursday) |
Network Flow II: Applications |
- Edmonds-Karp algorithm (analysis and implementation)
- Applications: bipartite matching, assignment problems
- Edge-disjoint paths
- Additional flow variants and applications
Assessments:
- Quiz 8 (Strings) due
- Discussion 2 (Flow Apps) due
Reading Materials:
- K&T Ch 7.3
- DPV Ch 7.2-7.3
|
Week 12: Linear Programming
Date |
Lecture Topic |
Details |
Nov 11 (Tuesday) |
Linear Programming I |
- Linear programming formulation
- Canonical and standard forms
- Geometric interpretation
- Converting problems to LP formulations
Reading Materials:
- K&T Ch 7.4-7.5
- DPV Ch 7.1
|
Nov 13 (Thursday) |
Linear Programming II: Simplex |
- Simplex algorithm overview
- Duality in linear programming
- Applications of linear programming
- Integer linear programming
Assessments:
- Quiz 9 (Network Flow) due
Reading Materials:
|
Week 13: Advanced Dynamic Programming and Beyond NP
Date |
Lecture Topic |
Details |
Nov 18 (Tuesday) |
Advanced DP: Floyd-Warshall & Intractability |
- All-pairs shortest paths problem
- Floyd-Warshall algorithm and implementation
- Dynamic programming approach to matrix path problems
- Introduction to PSPACE-complete and #P-complete problems
- Parameterized complexity
Reading Materials:
- K&T Ch 6.8, 8.4, 8.9, 8.10
- DPV Ch 4.6-4.7, 8.4
|
Nov 20 (Thursday) |
Final Exam Review |
- Comprehensive review of all course material
- Practice problems
- Q&A session
- Exam preparation strategies
Assessments:
PS5 is due before Thanksgiving break, allowing students to focus on final exam preparation during and after the break.
Reading Materials: Comprehensive review
|
THANKSGIVING BREAK (Week 14)
Date |
Lecture Topic |
Details |
Nov 25 (Tuesday) |
No Class – Thanksgiving Break |
No class activities scheduled.
|
Nov 27 (Thursday) |
No Class – Thanksgiving Break |
No class activities scheduled.
|
FINAL EXAMINATION (Week 15)
Date |
Lecture Topic |
Details |
Dec 2 (Tuesday) |
Final Exam |
- Comprehensive assessment of course material
Assessments:
|