COURSE IN DEPTH
Year one
In order to complete this course, you must successfully complete all the following CORE modules (totalling 120 credits).
Computer Programming
20 credits
This introductory computer programming module provides the underpinning knowledge and practice for computing students to design, build and test software components. The module will make use of practical sessions primarily to allow you to apply programming principles and constructs in order to creatively solve problems by means of developing small programs. Module content and assessment enables learners to acquire programming skills in a modern imperative language.
Computer Systems
20 credits
Within the Computer Systems Module, you will gain knowledge and experience of computers and computer hardware.
This module presents a holistic view of how computer systems work and it also provides the underpinning knowledge required:
- for the design of computer architecture
- to show how software interacts with hardware
- to apply electronics principles
- to use number systems for computer technology
Website Design and Development
20 credits
This module provides the underpinning skills necessary to develop an effective web based information system based around a clear understanding of the visual requirements of an interface, a structured design approach and the technical skills necessary to implement a solution.
Data Structures and Algorithms
20 credits
Data structures and algorithms are essential in computer science, software engineering, and computer games and graphics programming. Data structures are structured representations of data; the design of a data structure determines how operations (such as reading to, writing from, modifying, or computing with the data) can be achieved. An algorithm is a set of instructions which can be followed in order to solve a computational problem.
Network Fundamentals
20 credits
The module provides the opportunity to learn and critically reflect the skills required in building and designing basic networks and their requirements within a network infrastructure. This module builds on the underpinning knowledge and theory of networking systems.
The module consists of:
- Subject specific lectures/laboratory sessions to introduce knowledge and skills relevant to network and information systems, along with communication architecture
- Lectures/laboratory sessions to introduce principles and techniques for information communication within a network and ensuring effective communication
- Global view on information system communication.
Innovation Project
20 credits
This first-year project allows you to develop and cultivate a creative mind-set through collaborative innovative practice, allowing you to bring together knowledge and imagination to construct a viable product. It is an opportunity to express your ideas, skills and talent to the wider community of innovative practice.
The project provides you with an opportunity to be part of a thriving community of innovators that practices connected learning. This is facilitated by putting you into inter-disciplinary project teams supported by innovation mentors, advisors and academics; culminating in you exhibiting your work to an international panel of experts.
Year two
In order to complete this course, you must successfully complete all the following CORE modules (totalling 120 credits).
Object Oriented Programming
20 credits
Programming is an engineering tool that plays a vital role to drive most of the modern technologies surrounding us, including the technological devices for communication, transportation and entertainment. In other words it can be said that our modern lifestyles are heavily dependent on programming.
Moreover, businesses increasingly rely on computers and the software run on them. Programming skills and a broader and deeper understanding of programming are therefore becoming increasingly important to the jobs market.
Introduction to Data Science
20 credits
Data applicable to organisational bodies for decisions making process are increasing rapidly. Automation of tracking, the increase of new data types (e.g., social media, audio, and video), improved storage of electronic records, re-use of administrative records, and the outburst of modelling data have all amplified the availability of data. However, making full use of these data requires not only right storage and but also advanced analytical capabilities.
Data Science is a multidisciplinary field that deals with technologies, processes, and systems to extract knowledge and insight from data and supports reasoning and decision making under various sources of uncertainty. The goal of Introduction to Data Science is to teach students how to answer questions with data.
The module will enable students to conduct computational investigations needed for vital decisions and prediction of new trends and at the same time enhance students’ employability skills.
Database and Web Application Development
20 credits
The vast majority of web applications are connected to databases for the purpose of storing and retrieving information. On this module you will be introduced to relevant concepts and technologies, applying them to the development of such applications. You will gain knowledge and skills concerning data modelling (entity-relationship models) and relational database implementation and administration (using SQL).
You will also acquire new programming skills (e.g., writing server-side scripts in PHP) in order to produce applications that provide useful functionality. You will also gain practical experience in the use of web frameworks to develop web applications to enhance your employability skills.
Cyber Security
20 credits
Computer Scientists need to address the realities of the application of their field within an environment where cyber security threats present unique challenges to application and system developers, in relation to the requirement for secure design and operation. This module provides a foundation for security consideration as required in the design of software expected to perform within a networked and data sharing environment. This module has been designed to provide the necessary theoretical framework, foundations and practical support for effectively pursuing security solutions with reference to the requirement for secure application development.
Data Visualisation
20 credits
The aim of this module is to identify, apply and design data visualisations. The module provides you with the fundamental principles and practice-based activities needed to design data visualisations for different contexts and different types of data. More advanced visualisation concepts and tools for analysing multi-dimensional data and large data sets will also be examined and appraised.
You will learn how to employ visualisation as a tool that can help users understand large and/or complex data sets. Finally, upon completing the module, you should be able to decide on the best visualisation for the data and research question at hand, and then implement in the best way possible.
Software Design
20 credits
This module is about software engineering with a focus on software design. It covers three stages of the software engineering life-cycle, requirements, design and implementation, but with a focal point on design and an emphasis on the design theme.
The module provides the necessary skills to:
- construct models of requirements and designs,
- synthesise implementations from design models,
- apply software design patterns.
The standard UML is used as the modelling language, the vehicle through which important design concepts are explored to convey a software engineering ethos based on getting it right by adequately studying the problem and mindfully constructing designs of software solutions.
Year three
In order to complete this course, you must successfully complete all the following CORE modules (totalling 120 credits).
Modern Data Stores
20 credits
This module will introduce NoSQL databases and distributed data storage frameworks through practice based activities. Through guided hands-on tutorials, you will become familiar with techniques using non-structured and semi-structured data examples. Also, you will gain knowledge on managing and processing data in a distributed infrastructure. This course will improve your development skills and provide experience with many different data systems.
Deep Neural Networks
20 credits
Deep learning (also called deep neural network) is a sub-field of Artificial Intelligence(AI), aiming at extracting knowledge automatically from large data sets in a hierarchical way.
Deep learning, which is considered as the state-of-the-art in data science and AI, is inspired by the structure of human brain. Now well established and accepted in industry, deep learning provides both predictive and descriptive analytics solutions that can be applied to a wide range of applications from business to scientific and governmental applications.
Data Management and Machine Learning Operations
20 credits
Artificial Intelligence and Machine Learning
20 credits
Artificial Intelligence (AI) is a core component of computer science, aiming at developing intelligent agents that mimic human’s cognitive capability in learning, reasoning, and problem solving.
As a branch of AI, machine learning (ML) allows to create software that adapts and learns (from examples), rather than being explicitly programmed for a particular outcome. Both AI and ML rely on managing, processing and analysis of large datasets, something that Data Science (DS) is concerned with. Many services provided by technology giants such as Google, Microsoft, IBM, Facebook, Amazon, etc. are powered by DS, ML and AI. The recent advances in these subjects have already led to significant industrial applications such as self-driving cars and Industry 4.0.
Individual Honours Project
40 credits
The purpose of the module is to enable you to undertake a sustained, in-depth and research-informed project exploring an area that is of personal interest to you. In agreement with your supervisor, you will decide upon your topic which will take the form of a practical outcome (artefact) with accompanying contextual material. The main consideration when choosing your topic is that it must be aligned to the programme you are studying, and you should consider the relevance of this topic to your future academic or professional development.
At this level, you will be expected to work independently but you will receive additional one-to-one support from your supervisor, who will be familiar with your chosen topic area. As you progress on the module, extra support will be available and this may take the form of group seminars, workshops and online materials that will help to develop your project.