Skip to main content
 

COMP53015: Advanced Computer Systems

Type Tied
Level 5
Credits 15
Availability Not available in 2025/2026
Module Cap None.
Location Durham
Department Computer Science

Prerequisites

  • None

Corequisites

  • None

Excluded Combinations of Modules

  • None

Aims

  • To develop a systematic understanding of current hardware architectures, their interplay with programming models, system programs and application performance tuning.
  • To appreciate how performance of computer systems are affected by their architecture and system programming.
  • To develop practical skills in application development, server provisioning and orchestration in the context of large-scale computing with an intense focus on networking.

Content

  • Computer architecture: processor architectures, memory systems (caches) (6L + 2P)
  • High-Performance Computing Platforms and Power-Performance Analysis (6L + 2P)
  • Advanced Compiler Optimisation and Hardware-Software Interfacing (6L + 2P)
  • Advanced computing and networking paradigms: Cloud, edge, fog and software-defined networking (6L + 2P)

Learning Outcomes

Subject-specific Knowledge:

  • By the end of this module, students should be able to demonstrate:
  • an understanding of the relationship between hardware architectures and High-Level Programming Languages.
  • an understanding of complex performance issues of current computers.
  • an understanding of modern computing paradigms, and how to design and implement codes to perform optimally on these paradigms.
  • an understanding of several networking systems used in modern computational paradigms.

Subject-specific Skills:

  • By the end of this module, students should 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.
  • a critical understanding of potential performance pitfalls, specific codes and skills to improve existing solutions.

Key Skills:

  • By the end of this module, students should be able to demonstrate:
  • a capacity for self-learning in familiar and unfamiliar situations.
  • general problem-solving skills.
  • familiarity with programming paradigms for modern wide-vector CPUs, and their translation to GPUs.
  • familiarity with modern network based computational models.

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

  • Lectures enable students to learn the core material relevant to the topic and computer classes enable students to apply their learning to practical examples.
  • The summative assessment and formative exercises encourage students to focus their ability to independently analyse and solve problems.

Teaching Methods and Learning Hours

ActivityNumberFrequencyDurationTotalMonitored
Lectures91 per week2 hours18 
Lectures81 per week1 hour8 
Computer Classes81 per week1 hour8 
Preparation and Reading116 
Total150 

Summative Assessment

Component: CourseworkComponent Weighting: 100%
ElementLength / DurationElement WeightingResit Opportunity
General Test100

Formative Assessment

Via computer classes

More information

If you have a question about Durham's modular degree programmes, please visit our Help page. If you have a question about modular programmes that is not covered by the Help page, or a query about the on-line Postgraduate Module Handbook, please contact us.

Prospective Students: If you have a query about a specific module or degree programme, please Ask Us.

Current Students: Please contact your department.