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) LI Advanced Functional Programming - (06 30422)
Co-requisites
Restrictions None
Contact Hours Lecture-33 hours
Guided independent study-167 hours
Total: 200 hours
Exclusions
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
Assessment Methods & Exceptions Assessment:
2hr Examination (80%),
Continuous Assessment (20%)

Reassessment:
2hr Examination (100%)
Other Duplicate of Birmingham-based module 30230
Reading List