Year 0 (common with BSc Computer Science)
Foundational programming 1
This unit will introduce you to core programme skills and concepts. You will also explore basic coding environments such as processing and block programming.
Computing histories
This unit will develop academic writing skills and offer diverse historical perspectives of computing.
Computing project: Introducing computing 1
This unit will introduce project work through set tasks such as simple game creation.
Foundational programming 1
In this unit, you will apply the skills and knowledge you have developed so far in friendly coding environments such as processing and block programming environments.
Foundational maths for computing
This unit will develop the foundational maths skills required for the subsequent years of the course.
Computing project: Introducing computing 2
In this unit, you will continue your project work through set tasks and introduce code management tools and project management basics.
Year 1
Coding 1: Introduction to programming
This unit will introduce you to programming basics using contemporary programming languages and constructs that form part of professional practice in computing. You will learn fundamentals including variables, conditionals, loops, functions, simple object orientation and interaction approaches, applying mathematical principals throughout.
Introducing data science and mathematics
This unit will introduce you to the fundamentals of mathematics and statistics. You will explore key theories and approaches that support contemporary statistical reasoning, and the general mathematical principles upon which they depend.
Data, representation and visualisation
In this unit, you will explore how information is represented as data, and how different types of data can be organised, stored, analysed and interrogated. You will also learn how to use different programming languages and data representations to create, navigate and analyse complex data structures.
Coding 2: Further programming and information architecture (IA)
This unit will expand your knowledge, skills and competencies in programming. You will learn how computing hardware interprets instructions, and how these instructions flow through computing systems. You will explore binary and hexadecimal representations of numbers, and how operations are understood in binary form.
Further mathematics and statistics for data science
This unit will introduce you to a range of mathematical approaches required for carrying out modern data science including calculus, discrete structures, probability theory, elementary statistics and fundamental linear algebra/matrix maths.
Data, people and society
In this unit, you will be taught what it means to represent people as data points, and explore the effects of data abstraction at macro scale on individuals and marginalised groups. You will also explicitly look at the use of data in public policy making.
Year 2
Coding 3: Algorithms and complexity
You will be introduced to a range of standard algorithms using programming languages including Python and C. Using common algorithms, you will create and analyse computational models, learning how to determine which ones might be best suited to certain kinds of problems.
Data governance and computational ethics
This unit explores data governance and the ethical and legal requirements of data collection, data storage, data access, data sharing and data processing. You will examine the current information security processes, which are enforced and regulated by legal and human rights legislation.
Data science project: Software engineering 1
You will design and develop a prototype software project, applying your understanding of data governance. You will be encouraged to develop projects that consider specific problems and challenges across a range of use cases. This will help you understand how software development teams operate.
Coding 4: Data processing and analysis
You will learn how data is represented in computers, and how data can be stored and analysed in multi-dimensional ways for processing. You will develop software for manipulating data of different forms to explore and understand how data can contain information.
Computational entrepreneurship
A key aim of this unit is to enhance your employability and entrepreneurship skills in a computational context.
Data science project: Software engineering 2
In this unit, you will deliver a substantial software project based on knowledge and competencies that you have developed so far on the course.
Year 3
Coding 5: AI and intelligent systems
Machine learning and artificial intelligence is at the core of modern industries. The unit will first introduce you to interactive concepts in machine learning and AI. You will then examine more complex intelligent systems design, including Neural Networks, reinforcement learning and other critical techniques.
Data Security
This unit will build upon your understanding of contemporary data security methods. You will be taught to use techniques including static program analysis, threat analysis and tools such to analyse security risks in online applications.
Data science project: Product development
During this unit, you will learn advanced approaches to product development including project management skills, time cost analysis estimation, product architecture and testing procedures.
Ethics of data science
In this unit, you will consider and reflect on critical approaches to technology development, building on the design ethics work delivered throughout the course so far. You will be encouraged to apply these techniques to your final year projects, exploring how you have applied your knowledge of computing ethics in your work.
Data science project: Final project
This will be your final thesis project, where you will demonstrate your skills and understanding of a range of creative computing methods and approaches including statistical methods, software engineering, data visualisation, machine learning and AI, data security, and other essential topics in the discipline.
Diploma in Professional Studies (Optional year)
The Diploma in Professional Studies (DPS) is an optional placement year in industry between the second and third year of the course. It is a managed year of professional experience, largely undertaken in the design profession in a variety of national and international locations. Successful candidates are selected on a competitive basis from academic performance and studentship, successful completion of the DPS bridging studies and by portfolio and proposal.