School of Computer Science

Module 02552 (2011)

Module description - Principles of Programming Languages

The Module Description is a strict subset of the Syllabus Page.

Module Title Principles of Programming Languages
School School of Computer Science
Module Code 06-02552
Level 3/H
Member of Staff Hayo Thielecke Achim Jung
Semester Semester 2 - 10 credits
Delivery

2 hrs of lectures and one exercise class per week, two revision lectures

Outcomes

On successful completion of this module, the student should be able to:

  • demonstrate fluency in reading, constructing, and manipulating expressions in the lambda calculus
  • execute specific evaluation strategies for lambda calculi with effects
  • relate features of concrete programming languages to abstract principles
  • assign types from various type disciplines to program expressions
Assessment
  • Sessional: 1.5 hr examination (80%) and continuous assessment (20%).
  • Supplementary: By examination only.
Texts
TitleAuthorPublisher
Concepts in Programming Languages John C. Mitchell Cambridge University Press
Essentials of Programming Languages (2nd edition) Friedman, D P, Wand, M & Haynes, C T MIT Press
Programming Language Theory and its Implementation Michael J. C. Gordon Prentice-Hall International
The Structure of Typed Programming Languages David A Schmidt MIT Press
Types and Programming Languages Benjamin C. Pierce MIT Press