COSC 3200
Introduction to Algorithms
This course explores various techniques used in the design and analysis of computer algorithms. Starting with the divide-and-conquer technique, the course covers various general approaches such as the greedy method and dynamic programming. Depending on time, various examples from the following problem domains will be considered: graph theory, shortest path, max-flow, matching, FFT, data compression, cryptography, and computational geometry. The notions of NP-completeness and computability will be introduced. If time permits, students will be introduced to online and parallel algorithms.
Sources
- Course catalogue ↗2026-2027