CMPT 405/705 - Design and Analysis of Computing Algorithms - Spring 2022

Course Information Syllabus Lectures Assignments Exams


Course outline:

SFU course outlines
  • The course continues with the study of concepts and problem-solving techniques useful for the design and analysis of efficient algorithms. The students are assumed to have taken cmpt 307 or its equivalent.
  • This is a theoretical course. This means you will need to write preudocode (as oppose to writing actualy code in a specific programming language).
  • Nonetheless, you will be expected to understand all the implementation details, if ever required to solve the problems in practice.

Topics Covered:

  • Basic Graph Algorithms
  • Greedy Algorithms
  • Dynamic Algorithms
  • Linear Programming
  • Approximation Algorithms
  • Randomized Algorithms
  • NP-Completeness

Textbooks

  • Algorithm Design by J. Kleinberg and E. Tardos, 2006
  • Introduction to Algorithms by T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, 2001

Grading:

  • Four homework assignments - 15% x 4
  • Final Exam - 40%

Exam:

There will be 4 assignmnets, and a final exam. The final exam is cumulative, on all the material covered in the course.