Site menu:

CS 341 - Algorithms - Spring 2017

Section 1: Tuesdays and Thursdays, 8:30-9:50, MC 4040.
Section 2: Tuesdays and Thursdays, 11:30-12:50, MC 4040.
Section 3: Tuesdays and Thursdays, 1:00-2:20, MC 2035.
Instructor: Lap Chi Lau
Office hours: Tuesdays and Thursdays, 2:30-4:00, DC 3120.
Piazza page: piazza.com/uwaterloo.ca/spring2017/cs341
Course outline: [pdf]

The main focus is to learn basic techniques to design and analyze efficient algorithms through the study of various classical algorithms. Towards the end, we will also present the notion of NP-completeness and prove that many natural problems are "hard" using polynomial time reductions. The specific topics include:

References: Course notes will be provided. We will mostly use the problems discussed in the following three books.