Year 0 (common with BSc Data Science and AI)
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.
Human Factors: Introducing inclusive HCI
This unit will introduce you to human computer interaction fundamentals including key theories and approaches for understanding accessible computing systems. You will learn accessible and inclusive approaches to computing through HCI case studies and practices.
Computing project: Web programming
You will learn and apply fundamental approaches to web application development, understanding user requirements, designing interactions, programming interfaces in HTML5/CSS3/JavaScript, testing, evaluating and presenting their work in class.
Coding 2: Further programming and Information Architecture
This unit will further 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.
Ethics and Information Security
This unit will introduce cybersecurity essentials through the lens of ethical and legal requirements in relation to data collection, data storage, data access, data sharing and data processing. You will examine current information security processes, which are enforced and regulated by legal and human rights legislation.
Computing project: Data and Databases
This project will build on your knowledge and skills in web programming. It will also provide an introduction to data structures for storing, querying, accessing and interrogating data. You will explore SQL and schemaless noSQL approaches to data management and storage, moving towards full stack competencies using Python and JavaScript.
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.
Human Factors: Interfaces and Interaction
This unit will help you understand how to design interactive applications, applying user-centred design cycles with related tools and techniques. You will analyse and evaluate user interfaces considering use and stakeholder needs, universal access, inclusiveness, assistive technologies, and culture-sensitive design.
Computing project: Software Engineering 1
You will design and develop a prototype software project, scaffolded by and reinforcing learning from their studies in Human Factors and Programming. Students will be encouraged to develop projects that consider specific problems and challenges across a range of use cases, learning how software development teams operate, applying professional practice approaches common across the sector.
Coding 4: Computer Graphics and Signal Processing
On this unit, you will learn how sensory information is represented in computers and how images, sounds and related media forms can be stored and analysed in 1, 2 and 3 dimensions. You will also be taught how 3D objects can be represented in 2D, and how to programme contemporary graphics pipelines from scratch.
Computational Entrepreneurship
A key aim of this unit is to enhance your employability and entrepreneurship skills in a computational context.
Computing project: Software Engineering 2
You will deliver a substantial software project based on the knowledge and competencies you have developed so far.
Year 3
Coding Five: 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.
Security, Privacy and Trusted Systems
Cybersecurity essentials are a critical part of computer science. You will be taught to use techniques including static program analysis, threat analysis. You will also become familiar with tools such as burpsuite which is used to analyse security risks in online applications.
Computing project: Product Development
This unit will reinforce professional practice approaches to product development. You will learn advanced approaches to product development including project management essentials, time cost analysis estimation, product architecture and testing procedures.
Ethics of Computing
In this unit, you will be asked to consider and reflect on critical approaches to technology development, including legal, regulatory and research-led ethics. You will be encouraged to apply these techniques to your own final year projects, exploring how you have applied your knowledge of computing ethics in your own work.
Computing project: Final Project
Your final project incorporates a range of methods and approaches drawn from competencies acquired throughout the course. This includes HCI methods, software engineering, signal processing, interaction, machine learning and AI, security and trust, and other essential topics in the discipline.
Diploma in Professional Studies (Optional year)
The Diploma in Professional Studies 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