CP431 Parallel Programming, WINTER 2026, WLU
Course Description
Parallel computers, or supercomputers or high-performance clusters are ubiquitous today in Science and Engineering. Parallel programming requires inventing new algorithms and programming techniques. This course will cover the fundamental paradigms of parallel programming, with an emphasis on problem solving and actual applications. The parallel programming concepts and algorithms will be illustrated via implementations in OpenMP and MPI (Message Passing Interface), as well as serial farming.
Important Course Information
Territorial Acknowledgement
I acknowledge that in Kitchener, Waterloo, Cambridge, and Brantford we are on the traditional territory of the
Neutral, Anishnawbe, and Haudenosaunee peoples.
Prerequisites
CP367 (proficiency in C)
Instructor
Dr. Ilias S. Kotsireas, Office 2076A,
Office Hours 24/7 and by appointment, Phone 884-0710 ext. 2218#
E-Mail: ikotsireATwlu.ca
Course Topics / Weekly Schedule
- Week 1: Historical overview and evolution of parallel computing
- Week 2: Fundamental concepts of parallelism
- Week 3: MPI programming fundamentals
- Week 4: MPI program examples + live demo on Canadian supercomputer
- Week 5: Parallel computer memory architectures: shared memory, distributed memory, hybrid distributed-shared memory
- Week 6: Parallel computer system architectures: Multi-Core, SMP, Clusters, Supercomputers, Flynn's Taxonomy
- Week 7: Performance, Speedup, Scalability, Amdahl's law, Gustafson-Barsis's law, Karp-Flatt metric, Isoefficiency relation
- Week 8: Load balancing: static, dynamic, termination detection
- Week 9: Abstractions for parallel programming: Data Parallelism, Task Parallelism, Reduce and Scan, work assignment, Pipelining
- Week 10: Programming paradigms for parallel computing: OpenMP, MPI, MapReduce/Google, Cilk, Cilk++, CUDA/GPU, Implicit Parallelism (Serial Farming)
- Week 11: Applications: parallel sorting, parallel matrix-vector multiplication, parallel matrix multiplication, parallel searching, Floyd's algorithm, Sieve of Eratosthenes, Circuit Satisfiability
- Week 12: Group Term Project presentations
Class Schedule, Winter Semester Timetable
| Mon | Wed |
| 11:30-12:50 | 11:30-12:50 |
| BA112 | BA112 |
______________|_____________|_____________|__
| | |
Week 1: | Jan 05 | Jan 07 |
Week 2: | Jan 12 | Jan 14 |
Week 3: | Jan 19 | Jan 21 |
Week 4: | Jan 26 | Jan 28 |
Week 5: | Feb 02 | Feb 04 |
Week 6: | Feb 09 | Feb 11 |
______________|_____________|_____________|__
|
Reading Week | Feb 17-21 Reading Week
______________|______________________________
| | |
Week 7: | Feb 23 (M) | Feb 25 |
Week 8: | Mar 02 | Mar 04 |
Week 9: | Mar 09 | Mar 11 |
Week 10: | Mar 16 | Mar 18 |
Week 11: | Mar 23 | Mar 25 |
Week 12: | Mar 30 (TP)| Apr 01 (TP)|
______________|_____________|_____________|__
| | |
Course Requirements/Student Evaluation
- The course final grade is computed based on the 4 components:
A1, A2, M, TP, explained in more detail below.
- A1, A2, TP, are groupwork. Students are required to form groups (of 5 students each) to work on A1 A2 TP collaboratively.
- The course final grade is computed as:
A1*(20/100) + A2*(20/100) + M*(30/100) + TP*(30/100)
- A1 20%, release date: TBA, due date: TBA
- A2 20%, release date: TBA, due date: TBA
- Important Information regarding groupwork submission:
- Late submissions will be marked with 0.
- All assignment submissions will be on MyLS only.
- All assignment submissions must be typeset (LaTeX, Word).
- All assignment submissions must be by .pdf file attachment only.
- Please upload one .pdf file only, for the entire assignment.
- Use the following naming schemes, for your .pdf files:
CP431-A1-GroupID.pdf CP431-A2-GroupID.pdf CP431-TP-GroupID.zip
(these are dash characters, not underscores)
- Your submissions should have a cover page, all pages should be
numbered and on each page include a header with your GroupID, course code, submission date, and A1/A2
- Submissions that violate any of the above requirements, will not be accepted/marked.
- (M) Midterm: 30%, Monday February 23, 2026 (in class).
Students are advised not to make travel commitments during scheduled examinations.
Missing a scheduled examination without valid (medical)
reasons and doctor's note, will result in a mark of 0.
- (TP) Term Project: 30%, due date: March 30, 2026
All students will be required to prepare a Term Project, details in class.
Each group will have to deliver a project document and conduct an in-class project presentation/demonstration during Week 12 of classes.
All group members must be present during the project demonstration (absent group members are subject to 50% penalty, off the Term Project mark).
Groupwork Accountability Measures
- Each Group is responsible for designating a group rep
- Every Student must be a member of a group
- Every Student (group member) should actively participate in the groupwork
- The group rep is responsible for submitting the groupwork A1/A2/TP, exclusively via myls dropbox
- Groupwork submission by individual group members, will be deleted and will not be marked
- The first page of every groupwork submission .pdf file, must contain:
- The Group ID, i.e. Group 1, Group 2, etc
- The list of names/e-mails/LaurierIDs of all group members
- For every group member: A succinct one-line description of the group member's contributions to the groupwork
- Students whose name is not included in the the first page of a groupwork submission .pdf file, will receive a mark of zero
- Students whose one-line description of contributions is empty, will receive a mark of zero
- The group rep is responsible to report to the course instructor any changes in their group's composition, e.g. a student dropping the course
- Group members are not allowerd to switch between groups, for the entire duration of the course
Term Project Demonstrations Schedule
You are strongly advised to test your presentation materials and/or test your laptop/desktop beforehand,
to avoid unexpected delays, arising due to technical difficulties, during your presentations.
All group members must be present during the presentation, to answer questions.
Group IDs, for A1, A2, TP, listed in a FIPPA-compliant manner, i.e. anonymized
FIPPA == Freedom of Information and Protection of Privacy Act
Term Project Presentations Schedule: Monday March 30 2026 (each group will have 15 minutes total, question time included)
Group 1 11:30 am -- 11:45 am
Group 2 11:45 am -- 12:00 pm
Group 3 12:00 pm -- 12:15 pm
Group 4 12:15 pm -- 12:30 pm
Group 5 12:30 pm -- 12:45 pm
Group 6 12:45 pm -- 13:00 pm
Term Project Presentations Schedule: Wednesday April 01 2026 (each group will have 15 minutes total, question time included)
Group 7 11:30 am -- 11:45 am
Group 8 11:45 am -- 12:00 pm
Group 9 12:00 pm -- 12:15 pm
Group 10 12:15 pm -- 12:30 pm
Group 11 12:30 pm -- 12:45 pm
Group 12 12:45 pm -- 13:00 pm
Research resources
- International Journal of Parallel Programming (Springer)
- Parallel Computing Systems & Applications (Elsevier)
- Journal of Parallel and Distributed Computing (Elsevier)
- Encyclopedia of Parallel Computing (Springer)
University and Course Policies (senate approved)
-
Special Needs: Students with disabilities or special needs are advised to contact Laurier’s Accessible Learning Centre for information regarding its services and resources. Students are encouraged to review the Academic Calendar for information regarding all services available on campus.
-
Plagiarism: Wilfrid Laurier University uses software that can check for plagiarism. If requested to do so by the instructor, students are required to submit their written work in electronic form and have it checked for plagiarism.
-
Academic Integrity: Laurier is committed to a culture of integrity within and beyond the classroom. This culture values trustworthiness (i.e., honesty, integrity, reliability), fairness, caring, respect, responsibility and citizenship. Together, we have a shared responsibility to uphold this culture in our academic and nonacademic behaviour. The University has a defined policy with respect to academic misconduct. As a Laurier student you are responsible for familiarizing yourself with this policy and the accompanying penalty guidelines, some of which may appear on your transcript if there is a finding of misconduct. The relevant policy can be found at Laurier's academic integrity website along with resources to educate and support you in upholding a culture of integrity. Ignorance is not a defense.
-
Classroom Use of Electronic Devices: Read WLU policy 9.3 Classroom Use of Electronic Devices.
-
Late Assignment Policy: late assignments will be marked with 0.
-
Final Examinations: Students are strongly urged not to make any commitments (i.e., vacation) during the examination period. Students are required to be available for examinations during the examination periods of all terms in which they register. Refer to the Handbook on Undergraduate Course Management for more information.
-
Foot Patrol, the Wellness Centre, Student Food Bank.