CE305-6-SP-CO:
Languages and Compilers

The details
2019/20
Computer Science and Electronic Engineering (School of)
Colchester Campus
Spring
Undergraduate: Level 6
Current
Monday 13 January 2020
Friday 20 March 2020
15
07 May 2019

 

Requisites for this module
(none)
(none)
(none)
(none)

 

(none)

Key module for

BENGGH46 Computers with Electronics (Including Foundation Year),
BENGGH4P Computers with Electronics,
BENGGH4Q Computers with Electronics (Including Year Abroad),
BENGI1H6 Computers with Electronics (Including Placement Year)

Module description

This module will introduce students to formal languages and compilers. It will demonstrate the use of BNF notation, finite state automata and regexps, basic programming language statements, and ask students to implement a compiler.

Module aims

The aim of this module is to introduce the students to formal languages and compilers, understand formal languages, use BNF notation, use finite state automata and regexps, basic programming language statements, and implement a compiler.



Module learning outcomes

After completing this module, students will be expected to be able to:

1. Demonstrate an understanding of formal languages
2. Describe formal languages using BNF notation
3. Explain the link between finite state automata and regular expressions
4. Describe the syntax and semantics of basic programming language elements
5. Demonstrate an understanding of the structure of compilers and their main components
6. Implement key parts of a compiler for a simple language

Module information

Outline Syllabus

-Introduction to formal languages
-Regular and context-free grammars
-Backus-Naur Form notation (BNF)
-Finite state automata
-Introduction to compilers
-Syntax and semantics of basic programming languages elements
-Lexical analysis
-Parsing
-Static analysis
-Code Generation

Learning and teaching methods

Lectures and Laboratories

Bibliography

  • Parr, Terence. (2014) The definitive ANTLR 4 reference, Dallas, Texas: The Pragmatic Bookshelf.
  • Aho, A. V.; Lam, Monica S.; Sethi, R.; Ullman, Jeffrey D. (2013) Compilers: Pearson New International Edition, Harlow: Pearson Education Limited.

The above list is indicative of the essential reading for the course. The library makes provision for all reading list items, with digital provision where possible, and these resources are shared between students. Further reading can be obtained from this module's reading list.

Assessment items, weightings and deadlines

Coursework / exam Description Deadline Coursework weighting
Coursework   Assignment 1: Expression Analyser     37.5% 
Coursework   Assignment 2: Small Compiler    62.50% 
Exam  Main exam: 180 minutes during Summer (Main Period) 

Exam format definitions

  • Remote, open book: Your exam will take place remotely via an online learning platform. You may refer to any physical or electronic materials during the exam.
  • In-person, open book: Your exam will take place on campus under invigilation. You may refer to any physical materials such as paper study notes or a textbook during the exam. Electronic devices may not be used in the exam.
  • In-person, open book (restricted): The exam will take place on campus under invigilation. You may refer only to specific physical materials such as a named textbook during the exam. Permitted materials will be specified by your department. Electronic devices may not be used in the exam.
  • In-person, closed book: The exam will take place on campus under invigilation. You may not refer to any physical materials or electronic devices during the exam. There may be times when a paper dictionary, for example, may be permitted in an otherwise closed book exam. Any exceptions will be specified by your department.

Your department will provide further guidance before your exams.

Overall assessment

Coursework Exam
40% 60%

Reassessment

Coursework Exam
40% 60%
Module supervisor and teaching staff
Dr Chris Fox, email: foxcj@essex.ac.uk.
Dr Chris Fox
School office, email: csee-schooloffice(non-Essex users should add @essex.ac.uk to create full e-mail address), Telephone 01206 872770F

 

Availability
Yes
No
No

External examiner

Dr Iain Phillips
Loughborough University
Resources
Available via Moodle
Of 175 hours, 35 (20%) hours available to students:
140 hours not recorded due to service coverage or fault;
0 hours not recorded due to opt-out by lecturer(s).

 

Further information

Disclaimer: The University makes every effort to ensure that this information on its Module Directory is accurate and up-to-date. Exceptionally it can be necessary to make changes, for example to programmes, modules, facilities or fees. Examples of such reasons might include a change of law or regulatory requirements, industrial action, lack of demand, departure of key personnel, change in government policy, or withdrawal/reduction of funding. Changes to modules may for example consist of variations to the content and method of delivery or assessment of modules and other services, to discontinue modules and other services and to merge or combine modules. The University will endeavour to keep such changes to a minimum, and will also keep students informed appropriately by updating our programme specifications and module directory.

The full Procedures, Rules and Regulations of the University governing how it operates are set out in the Charter, Statutes and Ordinances and in the University Regulations, Policy and Procedures.