This is an archived handbook for a previous year. The current undergraduate and postgraduate handbooks can be viewed using the links above.
Undergraduate Handbook 2025-2026 (archived)
Module COMP4187: Advanced Parallel Scientific Computing
Department: Computer Science
COMP4187: Advanced Parallel Scientific Computing
| Type | Level | Credits | Availability | Module Cap | Location |
|---|---|---|---|---|---|
| Open | 4 | 10 | Available in 2025/2026 | None. | Durham |
Pre-requisites
- COMP3741 Parallel Scientific Computing
Corequisites
- None
Excluded Combinations
- MATH3081 Numerical Differential Equations III AND MATH4221 Numerical Differential Equations IV
Aims
- Introduce advanced scientific computing techniques
- Familiarise student with distributed memory programming and MPI
Content
- Basic spatial discretisation techniques for partial differential equations
- Implicit time discretisation techniques for ordinary differential equations.
- Advanced algorithms of scientific computing
- Distributed memory programming paradigms.
- Advanced parallel data structures.
Learning Outcomes
Subject-specific Knowledge
- On completion of the module, students will be able to demonstrate:
- an in-depth knowledge of the state-of-the-art in scientific computing and accelerator programming
- a critical awareness of the main open problems of current interest related to these areas
- a comprehensive understanding of the research issues that relate to these problems, including recent developments and research trends, breaking technologies and opportunities for industrial innovation.
Subject-specific Skills
- On completion of the module, students will be able to demonstrate:
- an ability to conduct significant self-study and critically evaluate research issues in the covered areas of scientific computing and accelerator programming
- an ability to propose adaptations to numerical techniques and parallelisation methodologies to problems of current interest in the covered areas and evaluate their potential industrial implications.
Key Skills
- On completion of the module, students will be able to demonstrate:
- an ability to read and understand technical papers
- an ability to propose original solutions to problems of current interest
- an ability to deliver working, performing, scaling simulation codes.
Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module
- Computer classes provide the students with a focus on the content described above.
- Self-study/reading classes where application of the theory and familiarisation with current research issues are enabled.
- A substantial summative assignment encourages and guides further independent study to be conducted.
- The assignment element of the coursework component consists of a coding exercise with accompanying report.
Teaching Methods and Learning Hours
| Activity | Number | Frequency | Duration | Total Hours | Attendance Monitored |
|---|---|---|---|---|---|
| Lectures | 20 | 2 per week | 1 hour | 20 | |
| Preparation and Reading | 80 | ||||
| Total | 100 | ||||
Summative Assessment
| Component | Component Weighting | Element | Length/Duration | Element Weighting | Resit Opportunity |
|---|---|---|---|---|---|
| Coursework | 100% | Assignment | 50% | ||
| Oral Examination | 50% |
Formative Assessment
Through coursework.
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.