CSC373H1: Algorithm Design, Analysis & Complexity



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.

CSC263H1/ CSC265H1 / CSC263H5/ CSCB63H3
CSC375H1. NOTE: Students not enrolled in the Computer Science Major or Specialist program at FAS, UTM, or UTSC, or the Data Science Specialist at FAS, are limited to a maximum of three 300-/400-level CSC/ECE half-courses.
Distribution Requirements
Breadth Requirements
The Physical and Mathematical Universes (5)