-
CS-128
Programming & Software Engineering 1
This module teaches students the fundamentals of programming. Students will learn to develop and debug simple programs using basic programming concepts (assignments, if statements, loops, methods); data types (scalars, arrays, arraylists); and basic object-oriented programming concepts (objects and classes). They will also learn to write programs to a professional standard - programs that both work and are accessible and maintainable by other professional programmers.
-
CS-253
Web Service Development
This module is about writing REST Web Services and the technology needed to do that - including programming tools, libraries and technologies like HTTP, XML, JSON, Spring Boot and AJAX.
-
CS-D20Q
MSc Project
This module will provide you with the opportunity to explore a particular topic in Computer Science in depth.
On this module you will undertake independent research into appropriate areas of Computer Science to plan and undertake a significant independent piece of project work. You will also learn how to critically evaluate your work in the context of current work in related areas.
-
CSCM010IE
Research Methods
This module introduces students to fundamental research methodologies and good practice in Computer Science research. The module will also provide an introduction to current research topics across Computer Science.
-
CSCM010IG
Research Methods
This module introduces students to fundamental research methodologies and good practice in Computer Science research. The module will also provide an introduction to current research topics across Computer Science.
-
CSCM072IE
Optimisation Techniques
This module offers a comprehensive overview of optimisation techniques, beginning with fundamental mathematics and progressing through basic and stochastic search strategies, including Gradient Descent, Random Search, Grid Search, and Simulated Annealing. Students will learn about constraint handling with penalties, mathematical programming, and critically evaluate contemporary research. The curriculum covers evolutionary algorithms such as Genetic Algorithms and Genetic Programming, addresses multi-objective problems and decision-making, and explores graph problems with Ant Colony Optimisation. The module also covers human factors and ethical considerations in optimisation, preparing students for advanced research or professional practice in the field.
-
CSCM072IG
Optimisation Techniques
This module offers a comprehensive overview of optimisation techniques, beginning with fundamental mathematics and progressing through basic and stochastic search strategies, including Gradient Descent, Random Search, Grid Search, and Simulated Annealing. Students will learn about constraint handling with penalties, mathematical programming, and critically evaluate contemporary research. The curriculum covers evolutionary algorithms such as Genetic Algorithms and Genetic Programming, addresses multi-objective problems and decision-making, and explores graph problems with Ant Colony Optimisation. The module also covers human factors and ethical considerations in optimisation, preparing students for advanced research or professional practice in the field.
-
CSCM422IE
Symbolic AI and Natural Language Processing
This module provides a comprehensive introduction to the foundational concepts of symbolic logic and the Chomsky hierarchy, covering regular languages, grammars, and regular expressions. It explores the limitations of regular languages and delves into context-free grammars, alongside practical implementation and evaluation of grammars. The course transitions towards probabilistic natural language processing (NLP) with topics such as text classification, N-gram language models, and sequence models. Additionally, it examines distributional semantics and concludes with an overview of deep learning approaches in NLP.
-
CSCM422IG
Symbolic AI and Natural Language Processing
This module provides a comprehensive introduction to the foundational concepts of symbolic logic and the Chomsky hierarchy, covering regular languages, grammars, and regular expressions. It explores the limitations of regular languages and delves into context-free grammars, alongside practical implementation and evaluation of grammars. The course transitions towards probabilistic natural language processing (NLP) with topics such as text classification, N-gram language models, and sequence models. Additionally, it examines distributional semantics and concludes with an overview of deep learning approaches in NLP.
-
CSCM437IE
Data Visualisation and Visual Analytics
This module offers a comprehensive introduction to data abstraction and digital visualisation software, covering key concepts such as marks and channels, task abstraction, and the design process with a focus on colour. Students will explore visualisations for table, map, network, and tree data through practical lab sessions. The module also delves into volume visualisation techniques, including ray-casting, Marching Cubes, splatting, and texture-based rendering algorithms, as well as flow visualisation. The module concludes with an introduction to computer graphics, with lectures and labs designed to provide hands-on experience and feedback.
-
CSCM437IG
Data Visualisation and Visual Analytics
This module offers a comprehensive introduction to data abstraction and digital visualisation software, covering key concepts such as marks and channels, task abstraction, and the design process with a focus on colour. Students will explore visualisations for table, map, network, and tree data through practical lab sessions. The module also delves into volume visualisation techniques, including ray-casting, Marching Cubes, splatting, and texture-based rendering algorithms, as well as flow visualisation. The module concludes with an introduction to computer graphics, with lectures and labs designed to provide hands-on experience and feedback.
-
CSCM445IE
Machine Learning
This module will discuss in-depth some of the most widely used and state-of-the-art artificial intelligence and machine learning techniques and their applications to big data problems. The students will gain both theoretical understanding of learning and practical know-how in applying those theories to real-world problems. Topics include big data concept, data mining, learning theories, supervised and unsupervised learning.
The language of Instruction is ENGLISH.
-
CSCM445IG
Machine Learning
This module will discuss in-depth some of the most widely used and state-of-the-art artificial intelligence and machine learning techniques and their applications to big data problems. The students will gain both theoretical understanding of learning and practical know-how in applying those theories to real-world problems. Topics include big data concept, data mining, learning theories, supervised and unsupervised learning.
-
CSCM477IE
Advanced Machine Learning: Computer Vision and deep Learning
This module provides a comprehensive overview of key topics in computer vision and image analysis. It begins with the fundamentals of image formation and progresses through essential techniques in image processing, including advanced methods in object detection and image segmentation. Students will explore representation learning and generative models, gaining insights into visualizing and understanding complex data. The module also covers sequence learning, 3D scene representations, and differentiable rendering, culminating in the study of motion estimation and optical flow, equipping students with the skills to tackle real-world visual computing challenges.
-
CSCM477IG
Advanced Machine Learning: Computer Vision and Deep Learning
This module provides a comprehensive overview of key topics in computer vision and image analysis. It begins with the fundamentals of image formation and progresses through essential techniques in image processing, including advanced methods in object detection and image segmentation. Students will explore representation learning and generative models, gaining insights into visualizing and understanding complex data. The module also covers sequence learning, 3D scene representations, and differentiable rendering, culminating in the study of motion estimation and optical flow, equipping students with the skills to tackle real-world visual computing challenges.
-
CSCM808IG
Information Security Management
This module provides a comprehensive overview of the organisational context of information security, addressing trends, vulnerabilities, and risk assessment. Students will learn to implement security controls, conduct maturity analysis, and understand the impact of policies, certification, and legal compliance on trust. The course covers key principles of data privacy, access control models, and the Information Security Management System (ISMS). Practical skills include reading and producing formal models related to digital identity and surveillance, and understanding societal developments in risk surfaces. The module combines lectures and labs, with assessments through exams, coursework, and lab work, ensuring a well-rounded understanding of information security management.
-
CSCM818IG
IT Security, Forensics and Cryptography
This module covers essential topics in cryptography and security, including security goals such as confidentiality, integrity, authenticity, and non-repudiation. It delves into symmetric key encryption, the One-Time Pad, and information-theoretic security, highlighting Shannon's theorem. Students will explore computational complexity, basic probability, and security against probabilistic polynomial-time adversaries, with a focus on pseudorandom generators, functions, and various encryption schemes like stream and block ciphers. The module also addresses group theory, modular arithmetic, and the Diffie-Hellman key agreement, alongside public key encryption, digital signatures, and message authentication codes. Practical skills include understanding TLS/SSL, TOR protocol, and real-world protocols like WhatsApp and Signal, as well as an introduction to digital forensics and evidence collection.
-
CSCM868IG
Embedded Systems Security
This module provides a comprehensive introduction to embedded systems security, covering the design principles and methodologies for engineering secure embedded systems. Students will learn to develop, analyse, and explain secure designs using structure, state-based, time, and hierarchy modelling. The module includes the formulation and evaluation of formal security requirements through temporal and signal logic, as well as runtime verification. It explores the embedded systems security threat landscape, including automotive cybersecurity, and examines existing threats and their impacts. Students will also study embedded security solutions, threat analysis, risk assessment, and hardware security to identify and implement effective security treatments.