Instructor Information
Name: Deepanshu Kush
Webpage: This Page
Email: csc373-2022-05@cs.toronto.edu (Please stick to using this email for all course-related discussion.)
Important Links
Course Page: This page!
Discussion Board: Piazza
Online Homework Submission: MarkUs
Course Delivery
All lectures will be conducted in-person. The lectures will be recorded (your participation may also be recorded), and the recording will be made available via the course web page.
Office hours for at least one hour per week will be conducted online. The Zoom link for it will be emailed to all registered students and will be available on Piazza.
All times are in Eastern time zone.
Meeting | Time | Delivery |
---|---|---|
Lectures | Wed 6-9pm | BA 1170 |
Tutorials | Thu 6-7pm (in-person)
Thu 7-8pm (online) |
BA 2165
Zoom Link |
Office Hours | Wed 1-2pm (in-person), Wed 2-3pm (online + in-person) | BA 3201 and Zoom Link |
Tutorial Format
A problem set will be released on the course web page prior to each tutorial. Students are encouraged to attempt the problems before coming to the tutorials. During the tutorials, the TAs will explain the problems and then go over key steps of the solutions.
Term Test Format
Term tests will be conducted in person (dates below).
Grading Scheme
Best 3/4 Assignments: 30% (10% each)
2 Term Tests: 40% (20% each)
Final Exam / End-of-Term Test: 30%
Due Dates
Assignment 1: June 2
Assignment 2: June 29
Assignment 3: July 21
Assignment 4: August 13
Midterm 1: June 23
Midterm 2: July 27
Final Exam: August 17
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), 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.