Programme And Module Handbook
Course Details in 2020/21 Session

If you find any data displayed on this website that should be amended, please contact the Curriculum Management Team.

Module Title LH Programming Language Principles, Design, and Implementation
SchoolComputer Science
Department Computer Science
Module Code 06 30435
Module Lead TBC
Level Honours Level
Credits 20
Semester Semester 1
Pre-requisites LI Systems Programming in C/C++ - (06 30421)
Restrictions None
Contact Hours Lecture-33 hours
Guided independent study-167 hours
Total: 200 hours
Description By now students will have seen and used a variety of programming languages. In this module they will also understand the principles behind their design along with techniques for transforming human-friendly programs into machine-friendly sets of instructions. This module introduces some of the central ideas and techniques in the study of programming languages, from syntactic and semantic specification to compilation. Both the syntax (parsing) and semantics (operational semantics, abstract machines) will be covered. Students will also see how types can be used in compilers to prevent certain catastrophic errors (“type safety”).
Learning Outcomes By the end of the module students should be able to:
  • Understand the principles behind parsing
  • Understand operational semantics and abstract machines
  • Understand the principles of code optimisation and generation
  • Understand the use of types to guarantee safety properties
  • Understand and prove compiler correctness
Assessment 30435-01 : Examination : Exam (Centrally Timetabled) - Written Unseen (50%)
30435-02 : Continuous Assessment : Coursework (50%)
Assessment Methods & Exceptions Main Assessments: 1.5 hour examination (50%) and continuous assessment (50%)

Supplementary Assessments: 1.5 hour examination (50%) and continuous assessment (50%)
Other Duplicate of Birmingham-based module 30230
Reading List