COMP4804: Design and Analysis of Algorithms II

outline | assignments | notes | office hours | grading | dates | cheating | special needs

This course is over. Here is the list of final marks.

Course outline

This is an advanced course on the design and analysis of computer algorithms. The four main areas covered in the course are:

Assignments

Assignments will be posted here as they are ready. Assignments should be submitted in the assignment drop box in Room 3115HP.

A good place to post questions about assignments and course material is the COMP 4804 Forum. I will be monitoring this forum and will try to answer questions. You may get help from other students there as well.

Course notes

The following books are useful references. Most of the material in the course is taken from Cormen et al.

In addition, the following images are scanned from my personal course notes. They are quite terse and probably only useful as a reminder of what was talked about in class.

Date Topics References
Steve Seiden's incredible Theoretical Computer Science Cheat Sheet!
The top 10 algorithms of all time!
Introductory lecture
Jan 7 Basic probability
C Code for sorting algorithms
App C of CLRS
Jan 12 Analysis of insertion sort
Jan 14 Analysis of random binary search trees (quicksort) using indicator variables Sec 7.4 of CLRS
N/A Analysis of random binary search trees, quicksort and find using records
Jan 14 Binary space partition trees
Jan 19 Universal hashing
C code for hashing
Ch 11 of CLRS
pages 25-26 here
Jan 21 The Karp-Rabin string matching algorithm with an extension to don't cares
C code for Karp-Rabin
Sec 32.2 of CLRS
Print Basic probability worksheet
Jan 26 Conditional probability and independence, Markov's inequality App C of CLRS
Jan 28 A Monte-Carlo Min-Cut algorithm
Feb 2 Chernoff's bounds
pi.c, guesser.c, rbs.c
App C.5 and Ch 12.4 of CLRS
Feb 4 Proofs of Markov's and Chernoff's bounds App C.5 of CLRS and here
Feb 8 Michiel Smid's notes on amortized analysis Ch 17 of CLRS
Feb 11 Amortized analysis of 2-4 Trees
Study Midterm exams from 2003, 2004, 2005, 2006, and 2010 (solutions)
Feb 25 Midterm exam
Mar 2 Polynomial time, P, NP, NP-hardness, NP-completeness Ch 34 in CLRS
Mar 4 Branch-and-bound for TSP
Mar 9 TSP Approximation Algorithms
C code for brute-force, branch-and-bound, MST heuristic, and Christofides' heuristic
Sec 35.2 of CLRS
Mar 11 Approximation and Fixed-Parameter Tractable Algorithms for VERTEX-COVER
Mar 15 Algorithms for and hardness-of-approximation of clustering Sec 8.5 here
Mar 18 Approximations for MIS of squares and unit disks
Mar 23 Map labelling with fixed-font labels
Mar 25 Map labelling with fixed-font labels this paper
Mar 30 A brief history of algorithms notes
Mar 32 Exam Review
Final exam 2006
Master list of questions

Office hours

My office hours are Tuesdays from 14:00-16:00 in room 5177HP. Any other meeting time will have to be arranged by email. The TAs have office hours in room 1175 HP at the following times:

Dan Chen Thursdays14:00-16:00
John Howat Wednesdays14:00-16:00

Grading scheme

Grades will be assigned using the following grading scheme.

Assignment 110%
Assignment 210%
Midterm exam20%
Assignment 310%
Assignment 410%
Final exam40%
Total100%

I may, at my discretion, increase the grades of certain students to raise the class average or change the distribution. This will never cause a student's grade to go down, nor will it change the relative rankings of students so, e.g., it is not possible for a student who earned an 80% to receive a lower grade than a student who earned a 75%.

Important dates

The following is a (tentative) schedule for assignments and exams.

Jan. 26Assignment 1 due
Feb. 9 and 11Guest lecturer, office hours cancelled
Feb. 23Assignment 2 due
Feb. 25Midterm exam
Mar. 15Assignment 3 due
Apr. 6Assignment 4 due
TBAFinal exam

Policy regarding unoriginal work

Students are encouraged to collaborate on assignments, but at the level of discussion only. That is, they may work together to solve problems, but when writing down the solutions they should do so on their own. No student should show another student his or her written solutions.

Any student who is caught submitting work that they did not do themselves will have the relevant material sent to the dean, who will decide on the appropriate action.

Students with Special Needs

Students with special needs should obtain documentation from the Paul-Menton Center and notify me as soon as possible.