CSC373H1: Algorithm Design, Analysis & Complexity

Hours

36L/12T

Standard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, network flows, approximation algorithms. Brief introduction to NP-completeness: polynomial time reductions, examples of various NP-complete problems, self-reducibility. Additional topics may include approximation and randomized algorithms. Students will be expected to show good design principles and adequate skills at reasoning about the correctness and complexity of algorithms.

Prerequisite
Exclusion
CSC375H1, CSC373H5, CSCC73H3. NOTE: Students not enrolled in the Computer Science Major or Specialist program at A&S, UTM, or UTSC, or the Data Science Specialist at A&S, are limited to a maximum of 1.5 credits in 300-/400-level CSC/ECE courses.
Distribution Requirements
Science
Breadth Requirements
The Physical and Mathematical Universes (5)
Mode of Delivery
In Class