Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2026-2027

Module COMP3741: Parallel Scientific Computing

Department: Computer Science

COMP3741: Parallel Scientific Computing

Type Open Level 3 Credits 20 Availability Available in 2026/2027 Module Cap Location Durham

Prerequisites

  • COMP1071 Computer Systems AND COMP2221 Programming Paradigms AND (COMP1021 Maths for Computer Science OR MATH1551 Maths for Engineers and Scientists OR (MATH1561 Single Mathematics A AND MATH1571 Single Mathematics B) OR (MATH1061 Calculus I AND MATH1017 Linear Algebra I))

Corequisites

  • None

Excluded Combination of Modules

  • MATH3081 Numerical Differential Equations III AND MATH4221 Numerical Differential Equations IV

Aims

  • To develop an understanding of parallel hardware architectures and how they affect programming models, application performance.
  • Introduce and familiarise students with parallel programming approaches.
  • Introduce scientific computing techniques for the numerical solution of problems in science and engineering.
  • To develop practical skills in GPU programming in the context of large scale computing.

Content

  • Parallel and GPU processor architectures.
  • Data parallel programming for shared memory, distributed memory and heterogeneous systems.
  • Fundamentals of algorithmic accuracy and performance engineering for applications in scientific computing.
  • Fundamentals of numerical algorithms for ordinary differential equations.
  • Basics of GPU programming.

Learning Outcomes

Subject-specific Knowledge:
  • On completion of the module, students will be able to demonstrate:
  • An understanding of typical approaches to the numerical solution of problems in science and engineering.
  • Knowledge and appreciation of key research challenges in scientific computing.
  • An understanding of basic parallelisation strategies and when to apply them.
Subject-specific Skills:
  • On completion of the module, students will be able to demonstrate:
  • An awareness of current technology, design analysis, and commercial practice and the ability to bring these together to provide innovative solutions for digital systems.
  • An ability to apply numerical techniques to solve ordinary differential equations.
  • An ability to develop appropriate parallelisation schemes.
  • An ability to critically evaluate how the subject knowledge could be applied to various applications.
Key Skills:
  • On completion of the module, students will be able to demonstrate:
  • An ability to propose appropriate solutions to problems in scientific computing.
  • An ability to communicate technical information.
  • Capacity for self-learning in familiar and unfamiliar situations.

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • Lectures provide the students with the theoretical background of the material, and aid understanding with examples.
  • Computer classes enable students to acquire the necessary coding skills, learn about the relevant programming models, libraries and packages and receive feedback on their work.
  • Summative assessments assess the knowledge of relevant libraries and application of methods and techniques.

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours Attendance Monitored
Lectures 20 1 per week 1 hour 20
Computer Classes 20 1 per week 2 hour 40 Yes
Preparation and Reading 140
Total 200

Summative Assessment

Component: Coursework Component Weighting: 100%
Element Length / duration Element Weighting Resit Opportunity
In-Year Test 50%
In-Year Test 50%

Formative Assessment:

Example formative exercises are given during the course. The lab practicals contain formative assignments. Feedback will be provided to the students on the summative assignments and lecture materials during the practicals.


Students who do not attend monitored activities shown under Teaching Methods and Learning Hours, or who fail to complete the summative or formative assessment(s) specified above, may be subject to the Academic Progress procedures defined in the University's General Regulation V, and may be required to leave the University.