IF25-40414
Parallel Programming
Description
This course prepares students to explain the concepts and models of parallel computing, analyse and implement parallel algorithms on shared-memory and distributed-memory architectures, and optimise the performance of parallel programs. Study materials: Foundations of Programming Languages (FPL), Algorithmic Foundations (AL), Mathematical and Statistical Foundations (MSF), Operating Systems (OS), Networking and Communication (NC), Architecture and Organization (AR), Parallel and Distributed Computing (PDC).
Topics
- Concepts and models of parallel computing
- Shared-memory and distributed-memory parallel architectures
- Shared-memory parallel programming
- Distributed-memory parallel programming with message passing
- Parallel algorithm design
- Synchronisation and inter-process communication
- Performance analysis and optimisation of parallel programs
Course Learning Outcomes (CLO)
Each course outcome derives from one programme outcome.
- CPMK0609
Students are able to analyse and implement parallel and distributed algorithms to improve computing performance.
CPL06 - CPMK-AIDE-02
Students are able to build an applied decision basis by optimising computing performance through simultaneous processing, and apply the principles of computing ethics
CPLP03 - CPMK-AIDE-01
Students are able to design and implement advanced artificial intelligence modelling to analyse diverse large-volume data through the management of structured data storage infrastructure.
CPLP03
Supported PLOs
- CPL05
- Analyse and apply software engineering concepts to develop intelligent systems professionally.
- CPL06
- Analyse and implement fundamental concepts of mathematics, statistics, algorithms and computer systems as the foundation of computing.
- CPLP03
- Develop advanced artificial intelligence models and manage big data, and build applied decision support with attention to optimal performance and computing ethics.

