COMP 4009: Parallel Programming for Clusters and Multi-Core Processors


  • Synchronous delivery. Classes are Tuesdays 2:30-4:00 and Thursdays 2:30-4:00 via Zoom (click HERE).
  • Assignments will be submitted by e-mail. There will be a Final exam.

Course Outline

Introduction to parallel architectures, programming languages and algorithms for processor clusters (clouds) and multi-core processors. Distributed memory architectures, cluster/cloud computing, message passing parallel programming, multi-core processors, shared memory parallel programming, use of thread libraries, parallel performance analysis. Prerequisites: COMP 2402, COMP 2404, COMP 3000.

Course Material

Teaching Assistant(s)

  • Ali Sadeghi (

Office Hours

  • Frank Dehne’s Office Hours: Wednesdays, 4:00-5:00 via Zoom (click HERE)
  • Ali Sadeghi’s Office Hours: Mondays, 1:00-2:00 via Zoom (click HERE)

Student evaluation

  • Final exam: 40%
  • 3 assignments (programming projects): 20% each (Late penalties. Up to 24 hrs: 10%. 24-48 hrs: 20%. 48-72 hrs: 50%. More than 72 hrs: 100%.)

Academic integrity

This is a fourth year course. Everyone knows the rules. There will be zero tolerance for plagiarism or other academic misconduct. The Faculty of Science academic integrity rules will be strictly enforced. According to the Faculty of Science academic integrity rules, penalties for violations of Carleton’s Policy on Academic Integrity will normally be applied as follows:

  • First offence: A grade of F in the course.
  • Second offence: A grade of F in the course and a one-term suspension from studies.
  • Third offence: Expulsion from the University.