Programming Languages: Applications and Design - COMP6012

Looking for a different module?

Module delivery information

Location Term Level1 Credits (ECTS)2 Current Convenor3 2025 to 2026
Canterbury
Summer Term 6 20 (10) Michael Vollmer checkmark-circle

Overview

What does it mean for a program to be "correct"? What, exactly, is the relationship between the code you write and what a computer will do when you run it? What are the implications of choosing one particular programming language over others when building software?
You will learn how to answer all these questions by gaining a deeper understanding of the fundamentals of programming languages. Programming languages are the useful, friendly abstractions that stand between you, the programmer, and the intricate architectures of computer systems. By learning about the semantics of programming languages, you will be able to more definitively know what the code you write actually means, and what the implications are for running your code on actual computers.

Details

Contact hours

Total Contact Hours (Lectures, Classes) 32

Method of assessment

Mini practical assessment 1 worth 50%.
Mini practical assessment 2 worth 50%.

Reassessment Method: Like-for-like
Including composite form of reassessment for failed practical components – mini practical.

Indicative reading

Learning outcomes

On successfully completing the module, students will be able to: 
Explain the behaviour of programs written in a small imperative and functional programming language using operational semantics.
Apply their understanding of programming language semantics by implementing interpreters for simple programming languages.
Compare and evaluate different programming language features and paradigms.
Implement algorithms using both imperative (while loops) and functional (recursive operators) programming styles.

Notes

  1. Credit level 6. Higher level module usually taken in Stage 3 of an undergraduate degree.
  2. ECTS credits are recognised throughout the EU and allow you to transfer credit easily from one university to another.
  3. The named convenor is the convenor for the current academic session.
Back to top

University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.