COM225 Programming Language Principles
| Summary |
On entering this module you will already have a good understanding of object oriented programming from your first year studies. In this module, you will be introduced to further paradigms and programming languages. You will explore the choices that are taken in language design and the relationship between high level language and machine-level code that can be directly executed. In this module you will also look at the particular issues associated with concurrent or parallel programming, and the techniques used to combat them. |
| Session |
Autumn 2026/27 |
| Credits |
20 |
| Assessment |
Assignments
Formal examination |
| Lecturer(s) |
Prof. Emma Norling, Dr Georgios Moulantzikos & Dr Tom Howard |
| Resources |
|
| Aims |
The aim of this module is to develop an understanding of different approaches to programming language design, and how these different approaches lead to different ways of analysing and solving problems.
|
| Learning Outcomes |
By the end of the module the student will be able to:
- Explain the differences between key programming paradigms.
- Explain the common building blocks of programming languages.
- Implement solutions to problems using different programming paradigms.
- Demonstrate principles of parallel programming.
- Explain the common pitfalls in parallel programming.
|
| Content |
This module will cover:
Theory of Programming languages:
|
Teaching Method |
The theoretical aspects will be delivered through weekly lectures, while programming languages will be taught using flipped classroom and lab-based sessions, with some review lectures. |
| Feedback |
Formative feedback will be available in weekly lab-based sessions and through informal quizzes and polls. For summative assessments, feedback will be provided with the return of marks, typically three weeks after submission. |
|