Principles of Programming Languages - COM00005I

« Back to module search

  • Department: Computer Science
  • Module co-ordinator: Dr. Dimitar Kazakov
  • Credit value: 20 credits
  • Credit level: I
  • Academic year of delivery: 2018-19

Module will run

Occurrence Teaching cycle
A Autumn Term 2018-19 to Spring Term 2018-19

Module aims

The aims of the module are to:

  • Examine fundamental issues underlying the design decisions of different programming languages.
  • Extend students' view of programming and programming languages beyond that encountered at stage 1.
  • Provide a basis for the comparative evaluation of programming languages.

Module learning outcomes

  • To be able to express computational solutions in several of the main programming idioms
  • To be able to select an appropriate programming language for solving a computational problem, with justification
  • To know and understand the principal programming abstractions.


Task Length % of module mark
N/A 50
University - closed examination
Principles of Programming Languages (POPL)
2 hours 50

Special assessment rules



Task Length % of module mark
N/A 50
University - closed examination
Principles of Programming Languages (POPL)
2 hours 50

Module feedback

Two (optional) formative exercises will be issued, one towards the end of each part covering material developed in that part. Submissions will be marked, and feedback given.

Indicative reading

**** H. Abelson, and G.J. Sussman, Structure and Interpretation of Computer Programs, MIT Press, 1996

*** R.W. Sebesta, Concepts of Programming Languages, Addison Wesley, 2009

*** A. Burns and G. Davis, Concurrent Programming, Addison-Wesley, 1993

** D. Watt and W. Findlay, Programming Language Design Concepts, Wiley, 2004

** T.W. Pratt and M.V. Zelkowitz, Programming Languages: Design and Implementation, Prentice Hall, 2001

** D. Lea, Concurrent Programming in Java, Addison Wesley, 1996

** A. Burns and A. Wellings, Concurrent and Real-Time Programming in Ada, CUP, 2007

** F. Casarini and S. Thompson, Erlang Programming, O'Reilly, 2009

** A. Burns and A. Wellings, Real-Time Systems and Languages 4/e, Addison Wesley

The information on this page is indicative of the module that is currently on offer. The University is constantly exploring ways to enhance and improve its degree programmes and therefore reserves the right to make variations to the content and method of delivery of modules, and to discontinue modules, if such action is reasonably considered to be necessary by the University. Where appropriate, the University will notify and consult with affected students in advance about any changes that are required in line with the University's policy on the Approval of Modifications to Existing Taught Programmes of Study.