CSU33013 – Software Engineering Project II

(Semester 2, 5 ECTS) This module follows on directly from CSU33012 (Software Engineering) and focuses on the practical application of the various concepts and tools related to building software systems studied in third year software engineering.

CSU33061 – Artificial Intelligence I

(Semester 2, 5 ECTS) An introduction to Artificial Intelligence covering basic topics search and knowledge representation, including an introduction to probabilistic reasoning

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.

STU33005 – Information Systems

(Semester 2, 5 ECTS) The aim of the module is to introduce students to the crucial role that Information Systems play in all aspects of society and the workplace as these domains undergo trans-formative change.

CSU33071 – Compiler Design I

(Semester 2, 5 ECTS) An introduction to lexical analysis, parsing, code generation and other topics related to compiler design.

CSU33012 – Software Engineering

(Semester 1, 5 ECTS) This module provides students with a solid grounding in various aspects related to building large software systems.
This entails (i) recognising the general software life cycle and its stages from domain analysis to maintenance, (ii) analysing software in the problem domain, (iii) identifying the fundamental approaches to managing software projects and teams, (iv) distinguishing the roles of stakeholders in a software project in general and in software teams in particular, (v) to understand how to measure and reflect team performance.