Module Provider: Computer Science
Number of credits: 10 [5 ECTS credits]
Terms in which taught: Spring term module
Pre-requisites: CS1PR16 Programming
Non-modular pre-requisites:
Modules excluded:
Current from: 2019/0

Module Convenor: Dr Martin Lester

Email: m.lester@reading.ac.uk

Type of module:

Summary module description:

This module covers the theory and practice of compilers.


This module aims to present the theory and practice of compilers. This module also encourages, students to develop a set of professional skills such as software design, development, problem solving and end-user awareness.

Assessable learning outcomes:

This module introduces the concepts underlying compiler design and compiler writing, such as: regular expressions, grammars, parsing, and finite state machines. Compiler design is presented using both hand-written lexical analysers and compilers and by using lexical analysers and compilers generated with the Unix tools Lex and YACC or equivalents.

Additional outcomes:
Appreciation of all standard computation as a transformation from an input text to an output text.

Outline content:

  • Lexical analysis;

  • Writing simple lexical analysers in C;

  • Regular expressions and finite state machines;

  • Writing simple lexical analysers with Lex;

  • Introduction to compilation;

  • Roles of lexical analysis and parsing;

  • Grammars and parsing methods;

  • Top-down and bottom-up parsing;

  • Symbol tables and hashing;

  • Code generation and code optimisation;

  • Relationship between computation theory and compilers.

Brief description of teaching and learning methods:


Contact hours:
  Autumn Spring Summer
Lectures 20
Practicals classes and workshops 4
Guided independent study: 76
Total hours by term 100
Total hours for module 100

Summative Assessment Methods:
Method Percentage
Written exam 70
Set exercise 30

Summative assessment- Examinations:
One 2-hour examination paper in May/June.

Summative assessment- Coursework and in-class tests:

Formative assessment methods:

Penalties for late submission:
The Module Convener will apply the following penalties for work submitted late:

  • where the piece of work is submitted after the original deadline (or any formally agreed extension to the deadline): 10% of the total marks available for that piece of work will be deducted from the mark for each working day[1] (or part thereof) following the deadline up to a total of five working days;
  • where the piece of work is submitted more than five working days after the original deadline (or any formally agreed extension to the deadline): a mark of zero will be recorded.

  • The University policy statement on penalties for late submission can be found at: http://www.reading.ac.uk/web/FILES/qualitysupport/penaltiesforlatesubmission.pdf
    You are strongly advised to ensure that coursework is submitted by the relevant deadline. You should note that it is advisable to submit work in an unfinished state rather than to fail to submit any work.

    Assessment requirements for a pass:

    A mark of 40% overall.

    Reassessment arrangements:

    One examination paper of 2 hours duration in August/September - the resit module mark will be the higher of the exam mark (100% exam) and the exam mark plus previous coursework marks (70% exam, 30% coursework).

    Additional Costs (specified where applicable):
    1) Required text books:
    2) Specialist equipment or materials:
    3) Specialist clothing, footwear or headgear:
    4) Printing and binding:
    5) Computers and devices with a particular specification:
    6) Travel, accommodation and subsistence:

    Last updated: 8 April 2019


    Things to do now