Course units
Year 0 (common with BSc Data Science and AI)
Foundational Programming One (20 credits)
This unit will introduce you to core programming skills and concepts. You will explore basic coding Interactive Development Environments for processing and block programming languages like Python and JavaScript and multimedia frameworks such as p5js and Turtle.
Computing Histories (20 credits)
This unit will help you develop academic writing skills and offer diverse historical perspectives of computing.
Computing Project: Introducing Computing One (20 credits)
This unit will introduce carrying out practical computing projects. You will work independently on simple tasks such as creating interactive graphics, sound, visualisations, and/or making simple games.
Foundational Programming Two (20 credits)
This unit will build on programming fundamentals including variables, conditionals, loops, functions, and objects, and provide insights into how you can use data to create basic 2D graphics, sound, and utilise simple algorithms.
Foundational Maths for Computing (20 credits)
This unit introduces foundational mathematical methods and concepts in an easily accessible and visually applied way.
Computing Project: Introducing Computing Two (20 credits)
In this unit, you will continue to develop your individual and collaborative working process by responding to creative prompts and contemporary projects in computer science-related fields. You will learn basic code and project management basics to make your process more robust, resilient, and sharable.
Year 1
Methods 1: Introducing Computer & Data Science: (20 credits)
This unit will introduce you to the discipline of computer science and the sub-discipline of data science and their effects on the wider world that we all live in. Each is a mixture of art, science, and engineering that continues to shape us, from individuals to large organisations like governments. To better understand their influence, you will become literate in computer programming languages such as JavaScript and Python and become familiar with basic mathematics that are useful for applications from basic data processing to real-time multimedia programming.
Critical 1: Introducing Human Computer Interaction: (20 credits)
This unit will introduce you to the concept of human computer interaction (HCI) including key theories and approaches for understanding how we work with computers and computers work with us. You will learn accessible and inclusive approaches to designing and prototyping interactive systems through HCI case studies, best practices, and a group project.
Critical Project 1: Web Programming and Internet Futures: (20 credits)
Using approaches borrowed from speculative design and design fiction, you will develop your understanding … create speculative (fictional) websites apply fundamental approaches to web application development, investigate what different types of people expect from websites, design interfaces and interactions in HTML/CSS/JavaScript, and present your work in class for critique and take part in critiques of others’ work.
Methods 2: Digital Systems (20 credits)
This unit will further expand your knowledge, skills and competencies in programming and computer architecture by looking at how our world is made computable by processes of digitisation and the application of digital logic. First, you will learn how computing hardware uses binary representations of numbers and binary operations to make decisions on a small scale. Then, you will explore how computing processes scale up using matrix mathematics to make sense of and manipulate images and other large data sets. A combination of programming languages will be used to take advantage of their abilities to work with data at different scales.
Critical 2: Security, Trust, Ethics, Risk and Networks (20 credits)
This unit will introduce essential concepts of data collection, networked systems, large-scale abstraction, and cybersecurity essentials such as risk and trust through the lens of ethical and legal requirements. Using case studies, legislation, and reports you will identify, analyse, and assess the risks to individuals, marginalised groups, society, democratic governance, and the environment posed by processes of abstraction, centralisation, a general lack of accountability of algorithms and computerised bureaucracy.
Critical Project 2: Data-driven Full Stack Development (20 credits)
This project will build on your knowledge and skills in web programming to explore, in concrete ways, how reality is digitised, abstracted, and automated using computational processes (software, services, infrastructure) and what effect that has on our world. You will learn how work with industry-standard ‘full stack’ approaches that utilise both SQL and noSQL databases, application development frameworks like React, networks and servers to collect and visualise data, and to work in groups to create data-driven applications like social web forums and chat clients.
Year 2
Methods 3: Algorithms and Complexity (20 credits)
You will be introduced to a range of standard algorithms used in computing for topics such as searching, sorting, data structures, and analysis. You will implement them and analyse their efficiency, performance, and complexity using formal and informal types of notation that will be introduced in the unit. You will also think critically about how the abstract, automated decision-making of algorithms might have unintended or negative effects on real-world data, especially how they might have harmful effects on smaller populations due to a primary focus on efficiency.
Critical 3: Organisations and Computing Entrepreneurship (20 credits)
This unit allows you space to develop your understanding of what type of organisations exist that you may want to work for, with, or to start on your own. You will explore a range of different organisations in different industries, such as companies, start-ups, non-profits, divisions of governments, NGOs and small collectives through case studies and guest lectures. These will help you understand why different organisations have different structures and business models and may lead you to third-year placements, since this unit appears early in year 2 of your studies.
Critical Project 3: Interactive Graphics and Sound (20 credits)
This unit delves into the basics of computer graphics and audio through the lens of human perception – what can we perceive and how is it represented in computing hardware and software as light, sound, and other sensory forms? Further, how can we efficiently work with complex media like graphics and sound in a real-time environment? Through the use of key multimedia libraries like WebGL and game engines you will explore these questions in a hands-on project.
Methods 4: Critical Interfaces for HCI (20 credits)
This unit will deepen your understanding of the variety of forms that interfaces and interactions between people and technology may take. You will explore the impact that interface and interaction design can have on people’s lives and activities and learn practical and ethical methods for designing and evaluating technology interfaces and interactions.
Critical 4: Global Perspectives in Computer Science (20 credits)
This unit will immerse you in current topics of interest in computer science from across the world, challenging your understanding of the discipline and serving as a source of inspiration for your future endeavours, like your final year degree project.
Critical Project 4: Software Engineering (20 credits)
In a group, you will collaboratively design and develop a prototype software project feature, which may be a whole or part of an entire software application, scaffolded by and reinforcing learning from your studies in HCI, project management, and programming. Projects will address specific problems and challenges across a range of use cases presented as part of a shared topic; for example, the concept of artificial intelligence “collaboration”; applications of decentralised social networking.
Year 3
Special methods: AI and Real-time Performance Systems (20 credits)
Machine learning and Artificial Intelligence is rapidly being adopted by individual, industries and organisations. This 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, and apply them to different contexts such as audio and video generation and data analysis
Special methods: Critical Infrastructure: Security, Privacy and Trusted Systems (20 credits)
This unit is under development and will build on the unit Critical 2: Security, Trust, Ethics, Risk and Networks from Year 2 towards understanding more advanced applications of security, trust, and privacy legislation to computing infrastructure such as a client-server systems and networks.
Special methods: HCI for Physical and Virtual Interfaces (20 credits)
This unit will further develop professional approaches to human-computer interface development, both physical and virtual.
Professionalism, Aesthetics and Ethics (20 credits)
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.
Critical Project 5: Final Project (40 credits)
Your final project incorporates a range of methods and approaches drawn from skills 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, 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 Diploma of Higher Education (year 2) and by portfolio and proposal.