CSU44004 – Formal Verification

(Semester 1, 5 ECTS) Specification languages and logics; axiomatic program semantics. Formal proof
systems to verify software and system properties such as propositional, predicate
and Hoare logic.

CSU55004 – Formal Verification

(Semester 1, 5 ECTS) Specification languages and logics; axiomatic program semantics. Formal proof
systems to verify software and system properties such as propositional, predicate
and Hoare logic.

CSU22011 – Algorithms and Data Structures I

(Semester 1, 5 ECTS) The topics of this module are: the theory and practice of algorithmic design; evaluation algorithm performance; and standard algorithms and data structures.

CSU44056 – Data Visualisation

(Semester 2, 5 ECTS) This module aims to equip the student with the knowledge and tools to visualise data in ways that give insight and understanding.

CSU44062 – 4CSLL5 Advanced Computational Linguistics

(Semester 1, 5 ECTS) Understand in general what a probabilistic model is, the distinction between so-called visible and hidden variables, and the distinctive nature of models where each datum is a sequence of varying length, rather then a fixed-size set of features

CSU22061 – Intermediate Programming

(Semester 1, 5 ECTS) Fundamentals of C++ including built-in types and coercion, pointers, arrays, reference parameters, STL containers string and vector structs, classes, inheritance (illustrated by Qt library for GUIs), dynamic memory allocation and recursive data structures.

CS7DS4 – Data Visualisation

(Semester 1, ECTS 5) This module aims to equip the student with the knowledge and tools to visualise data in ways that give insight and understanding.

CSU33081 – Computational Mathematics

(Semester 1, 5 ECTS) Floating point number systems; Mathematical Background, Solving Non-Linear Equations; Solving Systems of Linear Equations; Eigenvalues and Eigenvectors; Curve Fitting and Interpolation; Numerical Differentiation; Numerical Integration.

CSU34016 – Introduction to Functional Programming

(Semester 1, 5 ECTS) Functional programming languages present a powerful, abstract, and important direction in programming languages. This modules uses the functional programming language called “Haskell” to introduce key concepts such as how to compute using functions, and how these languages can easily support powerful features such as pattern-matching, recursion, strong typing, type polymorphism, higher-order functions, laziness, and type classes.