📄️ Object Oriented Programming
This module aims to provide you with an object-oriented programming skill set. You will learn what objects and classes are and how to write your classes. You will see how objects can interact with each other, including defining and implementing interfaces to control the interaction.
📄️ Software Design and Development
This module aims to advance your software development skills so that you can write more robust and complicated programs. You will learn how to use a range of programming techniques that will allow you to deal with unwanted or unexpected events that might happen when your application is running.
📄️ Programming with Data
Increasingly, computer systems in research and industry are designed to leverage large amounts of data. The data explored by such systems are rich and various getting data from a variety of sources and visualising data in compelling, informative ways.
📄️ Databases, Networks and the Web
In this module, you will learn theory and practical skills focused on the modern web, internet and client-server applications. You will learn about relational database systems, mainly from a development perspective, emphasising issues related to data modelling and database implementation in SQL.
📄️ Agile Software Projects
Agile Software Projects will run for the last time in October 2024. No further registrations will be accepted on this module after October 2024. The last opportunity to sit the assessment for this module will be October 2025. Module ‘Professional Practice for Computer Scientists’ will replace Agile Software Projects and will run for the first time in April 2025.
📄️ Computer Security
This module aims to provide you with an understanding of the need for computer security and the technologies that support it.
📄️ Graphics Programming
This module aims to show you how to work with images in a variety of ways. You will learn how to synthesise graphics and how to process visual signals.
📄️ Algorithms and Data Structures II
Algorithms and data structures are critical elements of the body of knowledge of computer science. Knowledge of a range of algorithms and data structures will allow you to solve common programming problems more rapidly. Within the programme, this module builds on the knowledge and skills gained in Algorithms and Data Structures 1.