P&DC Course Information Sheet
P&DC Course Information Sheet
Spring 2024
Email [email protected]
Office Hours Friday 1115 to 1300 (for students’ consultation and tutoring)
Course Objective(s)
This Parallel and Distributed Computing course aims to equip students with a solid theoretical understanding of parallel and
distributed computing principles. This includes exploring various architectures, programming paradigms, algorithms, and
their analysis, along with addressing key challenges like concurrency control and performance optimization.
Course Contents
A course in parallel and distributed computing equips students with foundational knowledge applicable to achieving multiple
Sustainable Development Goals.
SDG 7: Affordable and Clean Energy: The course covers techniques for optimizing programs for energy efficiency, which
directly contributes to this goal.
SDG 9: Industry, Innovation and Infrastructure: Understanding how to design scalable distributed systems prepares
students to develop efficient and sustainable infrastructure solutions.
SDG 12: Responsible Consumption and Production: The course emphasizes techniques that minimize resource waste in
FACULTY OF ENGINEERING SCIENCES AND TECHNOLOGY
distributed systems, aligning with responsible production practices.
2. Introduction to Parallel Computing” W.P. Peterson, W.P. Peterson, P.Abenz , Oxford University
Press
3. Parallel Scientific Computing in C++ and MPI G.E. Karniadakis, Cambridge University Press
Quizzes 15%
CLO 1 Explain the suitability of parallel and distributed computing for specific problems.
CLO 2 Apply programming models like Open MP, MPI and CUDA-C/Python to develop portable parallel
programs.
CLO 3 Analyze parallel program efficiency using speedup and scalability metrics.
Concurrency Control
Quiz
3 Mutual exclusion and synchronization
CLO1-PLO1
System APIs for concurrency control
Distributed Computing
Cluster Computing, GRID Computing, Overview of Available
8 tools,
Overview of Message Passing Systems MPI/MPICH &
Applications