The syllabus has seven two-week sections:
- Introduction and Review
- Hashing
- Exhaustive Search and Heuristics
- Trees
- Greed
- Graphs
- Divide and Conquer
 
   
   - Section 1 – Introduction and Review, Tuesday, 2 September to Thursday, 11 September.
- 
   
  
   
  
  
   - 
   - Class notes
   
- 
   Introduction
    
 Dynamic Storage and C++
 Recursion Basics
 Asymptotic Estimation
- Quiz
   - Tuesday, 16 September
    
- 
   The answers.
    
  
 
- Section 2 – Hashing, Tuesday, 16 September to Thursday, 25 September.
- 
   
  
   
  
  
   - 
   - Class notes
   
- 
   Hashing Basics
    
 Implementing Hash Tables
 Hashing In Practice
 Pop Quiz
- Assignment
   
- 
   Assignment 1 (last modified on 14 October 2008) 
       available on Tuesday, 16 September; due on Tuesday, 7 October at 5:30 p.m.
    
  
  
   
- Quiz
   - Tuesday, 30 September
    
- 
   The answers.
    
  
 
- Section 3 – Exhaustive Search and Heuristics, Tuesday, 30 September to Thursday, 9 October.
- 
   
  
   
  
  
   - 
   - Class notes
   
- 
   Exhaustive Search
    
 Heursitics
 Exhaustive Search in Practice
- Assignment
   
- 
   Assignment 1 due on Tuesday, 14 October at 5:30 p.m.
    
 
 Assignment 2 (last modified on 20 October 2008) 
       available on Tuesday, 7 October; due on Tuesday, 28 October at 5:30 p.m.
- Problem presentation
   
- 
   2 October, R. Clayton, Collinear points.
    
  
  
   
- Quiz
   - Tuesday, 14 October
    
- 
   The answers.
    
  
 
- Section 4 – Trees, Tuesday, 14 October to Thursday, 23 October.
- 
   
  
   
  
   - 
   - Mid-term grades due
   - 23 October
- 
   
  
  
   
- Class notes
   
- 
   Trees
    
 Balanced Trees
 M-Way Trees
- Problem presentations
   
- 
   23 October, J. Orfan, Flooded.
    
  
  
   
- Quiz
   - Tuesday, 28 October
    
- 
   The answers.
    
  
 
- Section 5 – Greed, Tuesday, 28 October to Thursday, 6 November.
- 
   
  
   
  
   - 
   - Drop day
   - 6 November
- 
   
  
  
   
- Class notes
   
- 
   Greed
    
 Greed in Practice
- Assignment
   
- 
   Assignment 2 due on Tuesday, 28 October at 5:30 p.m.
    
 
 Assignment 3 (last modified on 20 October 2008) 
       available on Tuesday, 28 October; due on Tuesday, 18 November at 5:30 p.m.
- Problem presentations
   
- 
   28 October, J. Apgar, Getting in Line.
    
 30 October, P. Githens, Counting on Cantor.
 6 November, R. Clayton, Robot Treasure Hunt.
- Quiz
   - Tuesday, 11 November
    
- 
   The answers.
    
  
 
- Section 6 – Graphs, Tuesday, 11 November to Thursday, 20 November.
- 
   
  
   
  
   - 
   - Assignment
   
- 
   Assignment 3 due on Tuesday, 18 November at 5:30 p.m.
    
 
 Assignment 4 (last modified on 10 December 2008) 
       available on Tuesday, 18 November; due on Thursday, 11 December at 5:30 p.m.
- Class Notes
   
- 
   Graph Basics
    
 Graph Algortihms
 Traveling, Flowing, and
         Matching
- Problem presentations
   
- 
   18 November, J. Orfan, The Marble.
    
 20 November, J. Apgar, Borrowers.
- Quiz
   - Tuesday, 25 November
    
- 
   The answers.
    
  
 
- Section 7 – Divide and Conquer, Tuesday, 25 November to Thursday, 4 December.
- 
   
  
   
  
   - 
   - No class
   - 27 November, Thanksgiving.
- 
   
  
  
   
- Class Notes
   
- 
   Divide and Conquer
    
 Divide and Conquer in Practice
- Assignment
   
- 
   Assignment 4 due on Thursday, 11 December at 5:30 p.m.
    
  
  
   
- Problem presentations
   
- 
   25 November, P. Githens, Prime Factors.
    
  
  
   
- Quiz
   - Tuesday, 9 December
    
- 
   The answers.