Durham University
Programme and Module Handbook
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 COMP3637: Compiler Design

Department: Computer Science

COMP3637: Compiler Design

TypeLevelCreditsAvailabilityModule CapLocation
Open 3 10 Available in 2025/2026 None. Durham

Pre-requisites

  • COMP1071 Computer Systems AND COMP2181 Theory of Computation AND COMP2221 Programming Paradigms

Corequisites

  • None

Excluded Combinations

  • None

Aims

  • To understand how a compiler for a high-level programming language works.
  • Develop implementation skills for writing practical components of a compiler, including parsing, analysis, code generation, and optimisation.
  • Appreciate how the design of programming languages is affected by compiler considerations.
  • Conduct two classroom case studies how compiler technology is used to create landscape around domain-specific languages.

Content

  • 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
  • An understanding of the theory and practice of compiler design.
Subject-specific Skills
  • The ability to work with and reason about abstract theoretical computer science problems and to apply them to practical aspects of compiler design.
  • Recognition and appreciation of appropriate design patterns in the implementation of compiler components.
Key Skills
  • An ability to communicate technical information in a scientific fashion.
  • An understanding of theoretical concepts of compiler design and their practical use.

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.
  • Formative exercises enable students to apply the material from lectures and enhance their understanding.
  • The exam assesses the application of methods and techniques and the synthesis of the core concepts of the course.

Teaching Methods and Learning Hours

ActivityNumberFrequencyDurationTotal HoursAttendance Monitored
Lectures 12 1 per week 2 hours (1 hour in weeks 5, 10 plus 2 x 1 hour revision lectures in Easter term) 20
Problem Classes 2 1 in week 5; 1 in week 10 1 hour 2
Preparation and Reading 78
Total 100

Summative Assessment

ComponentComponent WeightingElementLength/DurationElement WeightingResit Opportunity
Examination 100% Online Examination 2 hours within 3 hour timed window 100%

Formative Assessment

Through example exercises and problem sheets 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.