CMPUT 204 - Algorithms I


The first of two courses on algorithm design and analysis, with emphasis on fundamentals of searching, sorting, and graph algorithms. Examples include divide and conquer, dynamic programming, greedy methods, together with analysis techniques to estimate program efficiency.


The successful student will not only be acquainted with standard data-structures and algorithms for a wide variety of tasks; but will also be able to present algorithmic ideas and algorithms design-paradigms, argue correctness and complexity, select appropriate data structures, and design new algorithms.

Course Work

  • Assignments
  • Quiz
  • Midterm(s)
  • Final Exam