* staff

* student

* search

Module Descriptions

departmental image
UoR Home > Module Descriptions > CS2A2: C and Compilers

CS2A2: C and Compilers

Module Provider:

School of Systems Engineering

Number of credits:

10 [5 ECTS credits]

Level:

I (Intermediate)

Terms in which taught:

Autumn

Module Convenor:

Dr JAD Anderson

Pre-requisites:

CS1B2 SE1A2 or CS1D2

Co-requisites:

Modules excluded:

Current from:

2005/6

Aims:
To teach the C Programming language and the theory and practice of compilers.

Assessable learning outcomes:
This course teaches introductory C programming, and also introduces the concepts underlying compiler design and compiler writing, such as: regular expressions, grammars, parsing, and finite state machines. Compiler design is taught using both hand-written lexical analysers and compilers and by using lexical analysers and compilers generated with the Unix tools Lex and YACC.

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

Outline content:
The C programming language, including file handling using buffered and un-buffered input and output. 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.

Brief description of teaching and learning methods:
Lectures.

Contact hours:

  Autumn Spring Summer
Lectures 20    
Tutorials/seminars      
Practicals      
Other contact (eg study visits)      
       
Total hours 20    
       
Number of essays or assignments 1    
Other (eg major seminar paper)      

Assessment:
Coursework
To implement a compiler for part of C.
Relative percentage of coursework: 30%
Examinations:
One 90-minute written examination
Requirements for a pass:
40%
Reassessment arrangements:
Examination only

Page last updated 16/Sep/2005
Switchboard: + 44 (0)118 987 5123 *Find Us
Email: sssander@reading.ac.uk *Contact Us © The University of Reading 2004