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
CSC263H1/ CSC265H1 / CSC263H5/ CSCB63H3
Exclusion
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
Science
Breadth Requirements
The Physical and Mathematical Universes (5)