COMP 409: Concurrent Programming
Winter 2026, McGill University

Course Information
Time & Place
Monday, Wednesday 14:35–15:55
Location: BURN 1B45 a fun, subterranean classroom
Instructor Website Email
Clark Verbrugge
Office hours: please see contact info in my main web page.
Teaching Assistants
TBD
Pre-requisites
COMP 251 (Algorithms and Data Structures)
COMP 302 (Programming Languages and Paradigms)
COMP 310 (Computer Systems and Organization) (or ECSE 427)
Note that there is a non-trivial programming requirement and students should have strong programming skills. Assignments mainly focus on Java, but some C-coding will also be necessary.
Textbooks
The following required text will be used as a primary reference source for this course.
  • Maurice Herlihy, Nir Shavit, Victor Luchangco, Michael Spear. The Art of Multiprocessor Programming. Second Edition (2020).
    Note:The second edition is available at a preposterously high price from the bookstore. The revised First Edition by Maurice Herlihy and Nir Shavit, however, is not all that different, and is available as a e-book through the McGill Library.