Skip to content. Skip to navigation
McGill Home SOCS Home
Personal tools
You are here: Home Academic Courses Course Profile


Course Summary

Concurrency is becoming a mainstream feature of modern machines and programming languages. Programming for multiprocessors and multithreaded languages, however, involves understanding a number of complex and unexpected problems in order to produce correct and efficient programs.
In this course tudents will learn the fundamentals of programming for concurrency. This includes both theoretical foundations and practical experience with multithreaded programs. Both Java and POSIX (PThreads) environments will be discussed in detail, and significant programming will be required. Upon completion of the course, students should have a good understanding of concurrent programming issues, the main constructs used in concurrent programming and how to apply them effectively and correctly. Students will additionally be exposed to major theoretical concurrency modeling systems/paradigms as well as newly proposed concurrent programming languages and features.

McGill Course Description (Click Here)

Fall 2015

McGill Course Calendar Details
Course Homepage