Skip to main navigationSkip to main content
The University of Southampton

COMP2212 Programming Language Concepts

Module Overview

The aim of this module is to introduce students to the fundamental concepts underlying all programming languages, to introduce a broad range of programming language styles and features, and to provide the theoretical foundation that they will need in order to be able to make informed judgements about programming languages

Aims and Objectives

Learning Outcomes

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • Understand the main conceptual features of modern programming languages
  • Understand common features of type systems and type discipline in various programming languages
  • Distinguish between families of languages (imperative, OO, functional, declarative) and within families (dynamically typed vs statically typed, call by name vs call by value, etc)
  • Use diverse programming language primitives for concurrency
  • Understand diverse approaches to formal semantics of programming languages


- Compiled vs. interpreted languages - Imperative, functional and declarative languages - Scope and binding - Type systems - Type inference - Reasoning about programs - Contextual equivalence - Programming language semantics: operational, denotational and axiomatic semantics - Threading and thread safety - Reasoning about concurrent programs - Concurrency primitives in modern programming languages

Learning and Teaching

Follow-up work18
Preparation for scheduled sessions18
Wider reading or practice43
Completion of assessment task13
Total study time150



MethodPercentage contribution
Continuous Assessment 40%
Final Assessment  60%


MethodPercentage contribution
Set Task 100%


MethodPercentage contribution
Set Task  ( hours) 100%

Repeat Information

Repeat type: Internal & External

Linked modules

Pre-requisites: COMP2209 and COMP2210

Share this module Share this on Facebook Share this on Twitter Share this on Weibo
Privacy Settings