Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2026-2027

Module COMP3791: Advanced Computer Systems

Department: Computer Science

COMP3791: Advanced Computer Systems

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

Prerequisites

  • COMP2211 AND COMP2221 AND COMP2181

Corequisites

  • None

Excluded Combination of Modules

  • None

Aims

  • To develop an understanding of current CPU hardware architectures and how they affect programming models and application performance.
  • To understand how a compiler for a high-level programming language works.
  • The understand relationship between Computer Instruction Sets and high-level programming languages.

Content

  • Characteristics and design of current processor architectures.
  • Memory systems: cache design and performance.
  • Compiler frontend: Foundations of compiler theory and techniques for lexical analysis, syntax analysis and semantic analysis.
  • Compiler backend: Intermediate representations (IRs), optimisation on IRs, machine code generation and register allocation.

Learning Outcomes

Subject-specific Knowledge:
  • On completion of the module, students will be able to:
  • Explain the relationship between hardware architectures and high-level programming languages
  • Analyse complex performance issues of current computers and the selection of processors for specific applications
  • Explain the theory and practice of compiler design.
Subject-specific Skills:
  • On completion of the module, students will be able to:
  • Work with and reason about abstract theoretical computer science problems and to apply them to practical aspects of compiler design.
  • Recognise appropriate design patterns in the implementation of compiler components.
Key Skills:
  • On completion of the module, students will be able to communicate technical information in a scientific fashion.

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

  • Lectures enable the students to learn new material related to the above content.
  • Workshops enable students to engage with the material and receive feedback on their work.
  • Formative exercises enable students to apply the material from lectures and enhance their understanding.
  • The summative assignment assesses the knowledge of relevant libraries and application of methods and techniques.
  • The examination assesses the application of methods and techniques and the synthesis of the core concepts of the course.

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours Attendance Monitored
Lectures 12 Every other week 2 hours 24
Workshops 10 Every other week 2 hours 20
Preparation and Reading 156
Total 200

Summative Assessment

Component: Examination Component Weighting: 75%
Element Length / duration Element Weighting Resit Opportunity
On Campus Written Examination 2 hours 100%
Component: Coursework Component Weighting: 25%
Element Length / duration Element Weighting Resit Opportunity
Assignment 100%

Formative Assessment:

Example formative exercises are given during the course.


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.