Skip to main content

modules

Module title:Computer Languages and Representations
Module codeECM2418
Module lecturers: Diego Marmsoler
Module credits:15

In this module you will be introduced to some approaches to computation that are in various ways radically different from the imperative and object-oriented approaches you will be familiar with from working with languages such as Python and Java. We will introduce you to two distinct programming language paradigms: Functional Programming (represented by the language Haskell) and Logic Programming (represented by Prolog). You will learn the principles of programming in these styles, and by the end of the module should be able to write simple programs in those languages. In addition, you will also be introduced to the theoretical study of computation, via the theory of formal languages and automata.

A prerequisite for this module is ECM1415 Discrete Mathematics for Computer Science (specifically the part on set theory and logic) and ECM1400 Programming.

Please note that all modules are subject to change, please get in touch if you have any questions about this module.