CMPUT 304 - Algorithms II

Overview

The second course of a two-course sequence on algorithm design. Emphasis on principles of algorithm design. Categories of algorithms such as divide-and-conquer, greedy algorithms, dynamic programming; analysis of algorithms; limits of algorithm design; NP-completeness; heuristic algorithms.

Objectives

  • Get familiar with some fundamental computational problems and the algorithms for solving them
  • Learn the design techniques for these algorithms, and the associated theoretical analyses
  • Learn the limits of algorithm design and the intractability of problems
  • Learn how to prove the intractability and how to tackle intractable problems

Course Work

  • Assignments
  • Quiz
  • Midterm
  • Final Exam