Navigation

CMPT 705

Design & Analysis of Algorithms   -   Spring 2013

Announcements

  • Apr 10: Our last class is this Friday, April 12. The final exam is next Monday, April 15. The final will cover all topics that we studied in the course; it will be a 3-hour closed-book exam. The solutions to Quiz 4 are now posted.

older announcements...

  • Apr 5: Quiz 4 next Wednesday will cover Network Flows, NP-completeness, and Randomized Algorithms (that is, Chapters 7, 8, and 13 of [KT]). The solutions to HW 4 are now posted.
  • Mar 27: No class this Friday (Easter break). Next class is Wednesday, April 3.
  • Mar 24: HW 4 is now available. Solutions to Quiz 3 are also posted.
  • Mar 8: Quiz 3 next Friday will be a 50-min quiz, covering Dynamic Programming algorithms (Chap. 6 of [KT]). The solutions to HW 3 are now posted.
  • Mar 4: The solutions to Quiz 2 are now posted.
  • Mar 3: HW 3 is now available.
  • Feb 22: Your marked Quiz 1 is available for pickup on Monday (Feb 25), from the TA in TASC 1-8208, between 2pm and 3pm.
  • Feb 21: The solutions to HW 2 are now posted. The password is in your email.
  • Feb 19: There is no class this Friday, Feb 22 (as I'm away at a conference). Quiz 2 (on Feb 27) will be conducted by the TA. The quiz will cover Greedy Algorithms and Divide-and-Conquer Algorithms (starting from Dijkstra's algorithm and up to FFT, inclusive); that is, Chapters 4 and 5 of [KT].
  • Feb 10: HW 2 is now available.
  • Feb 7: The solutions to Quiz 1 are now available (see below). The pdf file is password-protected; you should have received the password by email. Please keep the password confidential!
  • Jan 29: The solutions to HW 1 are now available (see below). The pdf file is password-protected; you should have received the password by email. Please keep the password confidential!
  • Jan 17: HW 1 is now available! (see below)
  • Jan 16: The final exam date has been decided now. See below, under "Important dates".
  • Dec 11: The first lecture is January 9.

Course description

The course introduces concepts and problem-solving techniques useful for the design and analysis of efficient algorithms.

  • Topics
  • Texts
  • Lectures
  • Office hours
  • Marking scheme
  • Motivating example: the stable matching problem
  • Greedy (graph) algorithms, BFS, DFS, Dijkstra's, Kruskal's, and Prim's
  • Simple data structures: priority queues (with heaps) and union-find
  • Divide and conquer algorithms and their anaysis: solving recurrences
  • Dynamic programming algorithms and their analysis
  • Flow algorithms and matching
  • Linear programming
  • Randomized algorithms
  • Approximation algorithms
  • NP-completeness
  • Advanced topics
  • Algorithm Design by J. Kleinberg and E. Tardos, 2006
  • Introduction to Algorithms by T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, 2001
day time room
Wed 15:30-16:20 AQ 5016
Fri 14:30-16:20 AQ 5016
Fri 16:30-17:20 in TASC1 8011, or email me for an appointment.
  • four 50-min in-class quizzes @ 15% each,
  • final exam @ 40%.
Note: I will post 4 homework assignments (one before each quiz), which will not be collected and graded. The solutions to homework problems will be posted before the quiz. The quizzes will be loosely based on the homework problems, so you will benefit by solving the homework problems by yourself!

Teaching staff

Instructor: Valentine Kabanets (kabanets@cs.sfu.ca), Office: TASC1 8011

TA: Ruiwen Chen (ruiwenc@sfu.ca)

If you have grading-related questions, please email Ruiwen Chen and ask for an appointment. If you still have questions after meeting with the TA, then come and see me.


Important dates

The 50-minute quizzes will be given during our regular lectures on the following dates.

Quiz 1 Quiz 2 Quiz 3 Quiz 4
Feb 6 Feb 27 Mar 15 Apr 10

 

Final exam:  Apr 15, 12:00-15:00, in BLU 10011


Assignments

I'll post homework assignments & solutions.


Lecture notes

I'll post a brief outline of what I have done in class, and the reading assignment.