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.