COMP 3600: Algorithmic Design and Analysis

This course would be of interest to all computer science majors.

Prerequisites:  COMP 2002 or the former COMP 2711

Availability: This course is usually offered once per year, in Fall or Winter.

Course Objectives

This course is intended to refine the student's ability to solve computational problems algorithmically; it goes beyond specific algorithms to cover general methods of algorithm design and analysis and algorithmic problem solving.

Representative Workload
  • Assignments (6) 40%
  • In-class Exam 20%
  • Final Exam 40%
Representative Course Outline
  • Greedy algorithms (4 hours)
  • Divide and conquer (6 hours)
  • Dynamic programming (5 hours)
  • Network flows (4 hours)
  • Notion of NP-completeness, examples of reductions (6 hours)
  • Dealing with intractability (5 hours)
    • Approximation algorithms
    • Heuristics
    • Randomized algorithms

Page last updated May 24th 2021