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.

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.

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

CSU22062 – Natural Language Processing

(Semester 2, 5 ECTS) Regular languages, context free languages, feature structures, a brief into to Probailistic Methods in NLP, topic varying year to year,
examples being the use of Hidden Markov models in speech recognition, or
statistical machine translation, a brief into recursive computation of semantic values from grammatical structures.

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.

STU33004 – Research Methods

(Semester 2, 5 ECTS) This module introduces the research process. Starting with the formulation of a
research question, it covers completing a literature review, choosing an appropriate
research design, data collection, data analysis and how to communicate research
findings.

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.