COMP-251: Algorithms and Data Structures

School of Computer Science
McGill University
Winter 2013

Note: Please see MyCourses for course materials, assignment submission, and announcements.

Time and Place

Monday, Wednesday: 13:05 - 14:25
ENGTR 0100
Please consult Minerva for the most up-to-date scheduling & classroom location information.


Clark Verbrugge
Office: McConnell, room 230
Office hours: Monday & Wednesday 14:30-15:30, Friday 11:00-12:00, or by appointment.
Phone: 514-398-2411but don't call me, use email

Teaching Assistants

Simon Brisson: Tuesdays and Thursdays 12:00-1:00 in McConnell 226
Zhen Cao: Wednesdays and Thursdays 3:30-4:30 in McConnell 234A
Bentley Oakes: Tuesdays and Thursdays 1:00-2:30 in McConnell 231
Liana Yepremyan: Mondays 4:00-5:00, and Wednesdays 11:00-12:00, in McConnell 303


COMP 250 (Introduction to Computer Science) or COMP 203.
Not open to students who have taken or are taking COMP 252.

MATH 240 (Discrete Structures 1) is strongly recommended.

Note: students registering without the pre-requisites may find the course removed from their transcript by their Faculty. If you do not have the official pre-requisites please see the instructor.


Reference material is available in the following texts:

Course Overview/Objectives

Design and analysis of algorithms. Complexity of algorithms. Data structures. Introduction to graph algorithms and their analysis.

Course Syllabus

A detailed syllabus is available here.


5 Assignments: 30%
Midterm: 20%
Exam: 50%

A supplemental exam (70%) will be held if required.
In accord with McGill University's Charter of Students' Rights, students in this course have the right to submit in English or in French any written work that is to be graded.


Assignments are posted in MyCourses. For convenience, assignment descriptions are also replicated here.

Assignment and Exam Policy

Assignments must be submitted on time. Late assignments will only be accepted in highly-exceptional circumstances and only with written permission of the instructor. No assignment submissions will be accepted after marked assignments have been returned, or after solutions have been discussed in class.

McGill University values academic integrity. Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic offenses under the Code of Student Conduct and Disciplinary Procedures (see for more information).

More specifically, work submitted for this course must represent your own efforts. Copying assignments or tests, or allowing others to copy your work, will not be tolerated. Note that introducing syntactic changes into a copied program is still considered plagiarism.