New: mobile timetable rebuilt — faster, more reliable, easier to use →

ModsSC4050

Parallel Computing

Current offering — AY2026/2027 Semester 1

This course aims to equip students with fundamental knowledge and practical skills in parallel computing, with a strong emphasis on parallel algorithm design, parallel programming patterns, and performance-aware implementation. It is intended for students who are interested in understanding how computational problems can be decomposed, structured, and executed efficiently on parallel systems.

The course introduces the core principles of parallelism from the perspective of algorithm design through to implementation and execution. Students will learn how to analyze computational problems, identify opportunities for parallelism, and apply common parallel patterns to design scalable solutions. The course also covers the relationship between algorithms, programming models, and underlying hardware, enabling students to understand how design choices affect performance and scalability.

The curriculum is organized into several key components:

  • Foundations of Parallel Computing: Introduction to the fundamental concepts of parallelism, including concurrency, decomposition strategies, task and data parallelism, and performance metrics.
  • Parallel Architectures and Execution Models: Overview of modern parallel architectures and execution environments, including shared-memory and distributed-memory systems, and the impact of hardware characteristics on program performance.
  • Parallel Algorithm Design and Patterns: Study of common parallel design strategies and patterns, such as divideand-conquer, pipeline, task parallelism, and data-parallel approaches, with emphasis on designing scalable algorithms.
  • Parallel Programming and Performance Considerations: Implementation of parallel algorithms using established programming models, with attention to synchronization, communication, load balancing, and performance analysis.

Through this approach, students will gain experience in translating algorithmic ideas into efficient parallel implementations and understanding how programs execute on parallel systems. The course aims to develop students? ability to reason about parallel performance, design scalable solutions, and apply parallel computing techniques to computational problems in scientific and engineering domains.

Total hours per week: 5 hrs

AUs3.0 AUs
Grade Type
PrerequisiteSC2001
Exam

Prerequisite Graph

SC4050

Parallel Computing

Unlocks

No modules unlocked

Available Indexes

MonTueWedThuFri
830

10534 LAB (TEL1)

0830-1120 Mon

HWLAB1

Odd Weeks

900
930
1000
1030
1100
1130
1200
1230
1300
1330
1400
1430

COMMON LEC (SCL4)

1430-1620 Wed

LT6

1500
1530
1600

Other offerings

AY25/26
Semester 1Semester 2Sp. Term

Other Relevant Mods


Planning Guides