Revised May 27, 2014

CS 343: Concurrent and Parallel Programming

Watch a video introduction to this course on YouTube.

This course introduces advanced control-structures with an emphasis on concurrency and writing concurrent programs at the programming-language level. Programming techniques and styles are examined to express complex forms of control flow, such as multi-level loop exit, exceptions, coroutines, and concurrency.



Normally available

Related courses

For official details, see the UW calendar.


Typical reference(s)

Required preparation

At the start of the course, students should be able to

Learning objectives

At the end of the course, students should be able to

Typical syllabus

Advanced control flow (3 hours)

Coroutines (4 hours)

Concurrency (3 hours)

Mutual exclusion (4 hours)

Locks (4 hours)

Concurrency errors (3 hours)

High-level concurrency (8 hours)

Other concurrency approaches (3 hours)

Optimization (2 hours)

Distributed environments (2 hours)


Campaign Waterloo

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293
Fax: 519-885-1208

Contact | Feedback: | David R. Cheriton School of Computer Science | Faculty of Mathematics

Valid HTML 4.01!Valid CSS! Last modified: Friday, 17-Feb-2017 09:59:46 EST