CSC265H Standard Course Description

Enriched Algorithm Design Techniques


Owner

Faith Fich fich@cs.toronto.edu

Course Description

Standard graph-theoretic algorithms (traversals, minimum spanning trees, shortest paths, backtracking). Standard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming. Recurrence equations and their solutions. Emphasis is placed on conceptual understanding of techniques, proofs of correctness, and problem-solving. This course goes at a faster pace than CSC263H and will have more challenging assignments.

Background

This course evolved from the first part of the "old" CSC364H and two parts of CSC270H ("graph theory" and "dynamic programming"), expanded to contain more design techniques. Students will be expected to design new algorithms based on these techniques and write careful proofs of correctness. They will also be expected to do careful worst case analyses of iterative and recursive algorithms.

Prerequisistes

Exclusions

Follow-On Courses

Learning Objectives

Topics (not necessarily in this order)

Suggested Texts

  1. REQUIRED

    Introduction to Algorithms (2nd edition)
    Cormen, Leiserson, Rivest, and Stein, McGraw-Hill, 2001
    ISBN 0-07-013151-1

Sample Evaluation

type weight description
assignments 40% 5 assignments (pencil-and-paper)
midterm tests 15-20% 1-2 tests
final exam 40-45%