CSC C73 -- Algorithm design and analysis

Fall 2009


Index of this document


Contact information and meeting times

Instructor:  Vassos Hadzilacos
Office hours:  Mon 3-4, or by appointment
Office:  SW 627 (Scarborough campus);  SF 2304B (St. George campus)
Telephone:  416-287-7256 (Scarborough campus);  416-978-6028 (St. George campus)
Email:  vassos@cs.toronto.edu
TA:  Robert Danek
Office hours:  Fri 12-1, only on weeks before homeworks are due, in rm BV 260.
Lecture times and locations:  Tue 2-5, rm BV 260.

Tutorial time and location:  Fri 11-12, rm BV 260.

Back to the index


Course content

Course goals:   To introduce the main algorithmic paradigms (greedy, divide-and-conquer, dynamic programming, and linear programming) through concrete examples. Emphasis on abstract thinking and problem-solving, not on programming.

Prerequisites:   CSCB63.

Text:  Kleinberg and Tardos. Algorithm Design. Addison Wesley 2006.

Supplementary text:  Dasgupta, Papadimitriou, and Vazirani. Algorithms. McGraw-Hill 2006. A close-to-final draft of this textbook is publicly available here.

Tentative weekly schedule: 

Speak, then, and tell everything.  For, it comforts those in pain
To know before hand all the agony they still must bear.
--Aeschylus, Prometheus Bound

Week
Lecture (Tue)
Tutorial (Fri)
Assignments (Tue)
1  (Sep 14-18)
Greedy algorithms
  - Interval scheduling (KT* 4.1)
  - Minimum lateness scheduling (KT 4.2)
* KT = Kleinberg & Tardos
Review of Breadth-First Search (KT 3.2, 3.3)

Assignment 1 posted
2  (Sep 21-25)
Greedy algorithms (cont'd)
  - Shortest paths (KT 4.4)
  - Minimum Spanning Trees (KT 4.5)
  - Huffman codes (KT 4.8)
Cache replacement (KT 4.3)
Fractional knapsack

3  (Sep 28-Oct 2)
Divide & Conquer (D&C) algorithms
  - D&C recurrences (KT 5.1-5.2)
  - Karatsuba's multiplication (KT 5.5)
Review of complex numbers (preparation for
Fast Fourier Transform, next week)
Assignment 1 due
Assignment 2 posted
4  (Oct 5-9)
D&C algorithms (cont'd)
  - Fast Fourier Transform (DPV 2.6, KT 5.6)
† DPV = Dasgupta, Papadimitriou, & Vazirani
No tutorial (Friday preceding Thanksgiving)

5  (Oct 12-16)
D&C algorithms (cont'd)
  - Order statistics (KT 13.5)
  - Closest pair of points (KT 5.4)
Q&A session

6  (Oct 19-23)
Dynamic Programming (DP) algorithms
  - Longest increasing subsequence (DPV 6.2)
  - Optimal sequence alignment (KT 6.6)
Longest common subsequence
Assignment 2 due
Assignment 3 posted
7  (Oct 26-30)
DP algorithms (cont'd)
  - Weighted interval scheduling (KT 6.1)
  - Susbset sum & knapsack (KT 6.4)
DP and recursion, memoisation (KT 6.2)
8  (Nov 2-6)
DP algorithms (cont'd)
  - Optimal binary search trees
  - DP-based shortest paths (KT 6.8, DPV 6.6)
Matrix chain multiplication (DPV 6.5)

9  (Nov 9-13)
Maximum flow & applications
  - Ford-Fulkerson algorithm (KT 7.1)
  - Minimum cuts — max-flow min-cut (KT 7.2)
Edmonds-Karp augmenting path heuristic
Assignment 3 due
Assignment 4 posted
10  (Nov 16-20)
Max flow & applications (cont'd)
  - Bipartite graph matching (KT 7.5)
  - Disjoint paths (KT 7.6)
Hall's theorem (KT 7.5, pp. 371-373)

11  (Nov 23-27)
Linear Programming (LP)
  - Examples, graphical representation (DPV 7.1)
  - Overview of simplex algorithm (DPV 7.6)
  - Duality (DPV 7.4)
  - Formulating optimisation problems as LPs
Project selection (KT 7.11)

12  (Dec 1-4)
Approximation algorithms
  - LP relaxation: vertex cover (KT 11.6)
  - Greedy: set cover (KT 11.3)
  - DP: Knapsack (KT 11.8)
No tutorial
Assignment 4 due

 

Back to the index


Course policies

Academic integrity:   Academic integrity is essential to the University of Toronto and so the University treats cases of cheating and plagiarism very seriously.  Academic offences relevant to this course include using someone else's ideas or words without appropriate attribution; obtaining or providing unauthorised assistance on any assignment, test, or exam; misrepresenting your identity; and falsifying or altering documentation.

Accessiblity:   If you have a disability or health condition that may require accommodation, please consult with AccessAbility Services (SW-302, 416-287-7560, ability@utsc.utoronto.ca) as soon as possible.  Enquiries to Accessability Services are confidential.  Its staff will help assess needs and, if appropriate, will provide referrals and arrange accommodations.

Evaluation:   There will be four equally-weighted homeworks, a midterm exam and a final exam. The relative weights of these components towards the final mark are shown in the table below:


Homework 40%
Midterm 20%
Final* 40%

*Important note:  A mark of at least 35% on the final exam is required to pass the course.  Repeated differently:  If you receive less than 35% on the final exam you automatically fail the course, regardless of how well you have done on homeworks or the midterm exam.

Homework marking:  For each homework assignment, we may mark only a selected subset of the questions (but solutions to all problems will be made available).  In that event, the homework will be marked out of the total weight of the selected questions.

Late homework policy:  No late homeworks will be accepted. If you miss a homework deadline because of a medical or personal exigency, you must fill out the Special Consideration Form.  (In case of a medical exigency, you must also submit the UTSC Student Medical Certificate, completed and signed by your physician.)  If we judge your reason for missing the deadline to be valid, we will use the average mark you achieved in other homeworks as your mark for the missed homework.

Homework  collaboration policy:   In each homework you may collaborate with at most one other student who is currently taking CSC C73.   If you collaborate with another student on a homework, you and your partner must submit only one copy of your solution, with both of your names on the cover.  The solution will be graded in the usual way and both partners will receive the same mark.  Collaboration involving more than two students is not allowed.  For help with your homework you may consult only the instructor, TAs, your homework partner (if you have one), your textbook and your class notes. You may not consult any other source.

Remarking policy:   If your request concerns a simple addition error, see the instructor.  To make any other kind of remarking request, you must fill this form, attach it to your homework assignment or test, and give it to the instructor of the course no later than one week from the date the marked assignment or test was made available to the class.  Remarking requests made after this deadline will not be accepted.

Missed midterm test policy:    If you miss the midterm test due to a medical or other serious exigency, get in touch with your instructor immediately, and fill out the Special Consideration Form. (In case of a medical exigency, you must also submit the UTSC Student Medical Certificate, completed and signed by your physician.)  There will be no make-up test, but if we consider your reason for missing the test to be valid, we will use your final examination mark to compute your mark for the missed midterm test.

Attendance in tutorials:  There will be material presented only in tutorial and not discussed in the lectures, which I will expect you to know and on which you may be tested in homeworks or exams.

Back to the index


Announcements

In this space we will post announcements related to the course. Please check this space regularly. Back to the index

Marks

TBA.

Back to the index


Course documents

In this space we will make available course documents in PDF.

Back to the index


Document maintained by Vassos Hadzilacos