- Year 1
In your first year, you’ll engage with the
foundations of computer science from programming to algorithms and mathematics.
We’ve structured the curriculum to accurately reflect the industry and its many
areas of specialisation. You’ll study programming techniques,
database development, how to capture requirements and what happens inside
a computing operating system. A hands-on course from the outset, you’ll
benefit from a number of practical workshops as well as preparing for
your third year work placement.
BPIE111 Stage 1 Computing Placement Preparation
This module is aimed at students who may be undertaking an industrial placement in the
third year of their programme. It is designed to assist students in their search for a
placement and in their preparation for the placement itself.
COMP1000 Software Engineering 1
This module exposes students to the principles of software design and construction. The basics of constructing source code to solve a problem will be introduced, exposing students to common control structures alongside concepts such as types and generics. Major programming paradigms such as object orientation and functional programming are introduced. Additionally, key software development tools and methods are explored.
COMP1001 Computer Systems
This module provides students with an underpinning knowledge of how computers work. Topics include low-level systems and representation of data, operating systems, and an introduction to subjects such as virtualisation, parallelism, state and communications. Students will learn how operating systems manage processes and scheduling, and how memory management works.
COMP1002 Cyber Security & Networks
Modern computing relies upon networking and robust cyber security. This module provides an appreciation of their core enabling technologies, discussing how they can be applied. Key networking topics include routing and switching, as well as wireless networks. Key areas of security include underlying concepts and threats, and exploring security technologies that can be applied to enable defence in depth.
COMP1003 Algorithms, Data Structures and Mathematics
Data structures and algorithms lie at the heart of Computer Science as they are the basis for an efficient solution of programming tasks. In this module, students will study core algorithms and data structures, as well as being given an introduction to algorithm analysis and basic Mathematics for Computer Science.
COMP1004 Computing Practice
This module applies problem-based learning to provide students with the ability to identify problems and derive appropriate and considered solutions. A focus will be given to the early stages of the software development lifecycle to develop the skills of eliciting requirements whilst considering operational and technical trade-offs. The module will culminate in the creation of a simple yet complete software solution.
- Year 2
In the second year, you’ll
build on the knowledge you’ve already acquired, engaging with new subjects that
will help you identify possible career paths. Students
will explore artificial intelligence and machine learning. You will learn how
to navigate different processor architectures with low level programming for
IoT devices. An integrating project combines all the skills
you have learnt so far, and allows you to undergo a full software lifecycle,
starting with a concept and ending with a product.
BPIE211 Stage 2 Computing Placement Preparation
This module is aimed at students who may be undertaking an industrial placement in the
third year of their programme. It is designed build on the Level 1 module (BPIE111) and to
assist students in their search for a placement and in their preparation for the placement
COMP2000 Software Engineering 2
Students’ understanding of software engineering is expanded by introducing a range of topics that instil best practice. Students will learn how to implement faster software using parallelism and consider aspects of human-computer interaction. Object-orientation and functional programming are revisited, while event-driven programming is introduced. Common design patterns used in the construction of software are introduced.
COMP2001 Information Management & Retrieval
This module introduces students to the fundamental concepts for graphical representation, information management, database systems and data modelling. The capture, digitisation, representation, organisation, transformation and presentation of information is explored using conceptual and physical data models.
COMP2002 Artificial Intelligence
This module provides students with an introduction to the principles of artificial intelligence and the methods used in that field. Topics covered include search and optimisation, knowledge representation and reasoning, and machine learning. Students will gain experience of modelling and simulation, and will apply analytical tools to evaluating results, and will consider the ethical implications of the introduction of AI.
COMP2003 Computing Group Project
Knowledge gained in earlier stages of the computing programmes is consolidated and integrated into a substantial project. Students work in teams, champion professional roles, design and develop a software solution for a given scenario. The project integrates and expands upon software development stages covered on the course (project management, analysis, design, construction, communication, security and/or networking).
COMP2004 Embedded Programming and the Internet of Things
Students learn about embedded microcontrollers, working with different processor architectures via a simulator, and develop embedded software. The use of hardware peripherals, interrupts, multi-tasking and defensive programming techniques will be explored. Students will optimize the execution time, energy consumption and memory size of their programs. The use of embedded programming within IoT applications is considered.
- Optional placement year
This year you’ll do your industry placement –
which you’ve been preparing for over the past two years – aided by our network
of industry contacts. This extensive training period allows you to learn within
a professional context, giving you the opportunity to apply your knowledge and
skills in the real world, as well as learning from those around you. Over 48
weeks you’ll gain experience and confidence, as well as a host of contacts –
all essential in readying you for employment on graduation.
BPIE330 Computing Related Placement (Generic)
A 48-week period of professional training spent as the third year of a sandwich course, undertaking an approved placement with a suitable company. This provides an opportunity for you to gain relevant industrial experience to consolidate the first two years of study and to prepare for the final year and employment after graduation. Please note this placement is optional but strongly recommended.
- Final year
You’ll now be ready to demonstrate all that
you’ve learned over the past three years by undertaking a substantial
problem-solving individual project focused on a specific area of personal
interest, or one that relates to your intended career. Students will explore computational problem solving
with GP-GPUs and expand upon machine learning knowledge to analyse real
datasets and control real-time systems. Cloud computing is examined to
understand the deployment and performance of Internet services.
COMP3000 Computing Project
The Computing Project provides an opportunity to tackle a major computing related problem in an approved topic area relevant to the programme of study.
COMP3001 Parallel Computing
This module develops an understanding of problems in Computer Science which take advantage of general-purpose computing on GPUs. It provides practical methodologies to reformulate problems in terms of hardware architecture, graphics primitives and high-performance computing concepts, as supported by the most recent GPUs. It develops the skills to implement parallel solutions with common GP-GPU computing languages.
COMP3002 Alternative Paradigms
Imperative programming and related “classic” machines like finite state or Turing machines dominate the field of computing. This module aims to expose students to ways of thinking about computational problems that go beyond mainstream imperative styles (e.g., functional and declarative programming) and to ideas and workings of and behind unconventional and upcoming computing paradigms (e.g. quantum or neural computing).
COMP3003 Machine Learning
This module introduces machine learning, covering unsupervised, supervised and reinforcement learning from a Bayesian perspective. This includes theory behind a range of learning techniques and how to apply these representations of data in systems that make decisions and predictions.
COMP3004 Advanced Computing and Networking Infrastructures
This module introduces the infrastructures of the future Internet and cloud, both moving towards virtualisation and softwarisation, and describes how they underpin the development and deployment of multimedia Internet applications and services. Topics include virtualisation and cloud; services and applications; Software Defined Networking, and Network Function Virtualisation; load balancing, performance and resilience.
Every undergraduate taught course has a detailed programme specification document describing the course aims, the course structure, the teaching and learning methods, the learning outcomes and the rules of assessment.
The following programme specification represents the latest course structure and may be subject to change:
The modules shown for this course are those currently being studied by our students, or are proposed new modules. Please note that programme structures and individual modules are subject to amendment from time to time as part of the University’s curriculum enrichment programme and in line with changes in the University’s policies and requirements.
In light of the Coronavirus (COVID-19) pandemic, the changeable nature of the situation and any updates to government guidance, we may need to make further, last minute adjustments to how we deliver our teaching and learning on some or all of our programmes, at any time during the academic year. We want to reassure you that even if we do have to adjust the way in which we teach our programmes, we will be working to maintain the quality of the student learning experience and learning outcomes at all times.