Sections
Section | Lectures | Tutorial | Instructor | Email |
Office |
Office Hours |
---|---|---|---|---|---|---|
SEC 5101 | Tue 1–3 in BA1170, Thu 2–3 in BA1170 | Mon 5–6 Jan-Jun: SS 1070, Jul-Dec: SS 1073 |
Karan Singh | karan@dgp.toronto.edu | BA 5258 | Tue noon-1 Thu 1-2 |
SEC 5201 | Tue 3–4 in BA1130, Thu 3–5 in SS 2117 | Mon 5–6 Jan-Jun: SS 1074, Jul-Dec: UC 244 |
SEC 5301 | Wed 6–9 in BA1190 | Mon 6–7 Jan-Jun: UC 244, Jul-Dec: UC 261 |
Nisarg Shah | nisarg@cs.toronto.edu | SF 2301C | Wed 2-3 |
Links
Course Page: This page!
Discussion Board: Piazza
Online Homework Submission: MarkUs
Approximate Due Dates
Assignment 1: Oct 14
Assignment 2: Apx. Oct 31
Assignment 3: Apx. Nov 11
Assignment 4: Apx. Nov 25
Midterm 1: Oct 28
Midterm 2: Apx Nov 18
Course Learning Goals
By the end of this course, you will be familiar with standard algorithm design techniques (divide and conquer, greedy algorithms, dynamic programming, network flow, linear programming, approximation, randomization), and understand the importance of computational complexity. More specifically, you will be able to:
- recognize algorithms and write new ones that employ each technique,
- prove correctness of such algorithms and analyze their efficiency,
- demonstrate membership in P and NP,
- show NP-completeness.
Textbook
The primary reference for this course will be the slides uploaded by the instructors. In addition, you should refer to the following textbooks. Readings from these books will be posted along with each lecture.
- Required: [CLRS] Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms.
- Supplementary: [DPV] Dasgupta, Papadimitriou, Vazirani: Algorithms.
- Supplementary: [KT] Kleinberg; Tardos: Algorithm Design.
For information about assignments, exams, grading, and policies, refer to the course information sheet.