School of Computing, Electronics and Mathematics

MSci (Hons) Computer Science

Immerse yourself in Computer Science for four years and give yourself a UK masters level qualification. From the foundations of computer science and database development to artificial intelligence and games development, you’ll develop a wide variety of skills. Alongside this, you’ll also have the chance to undertake an optional industry placement year and a substantial research project.

Key features

  • Access a course that is likely to be of interest to those who want to pursue a career in research. This may not necessarily be academic research, it could also be corporate research and development. 
  • Choose a four-year immersion course that gives you a UK M-level qualification, and which is also roughly equivalent to the four-year European degrees which follow the Bologna model.
  • Seize the opportunity to undertake a substantial project in conjunction with a research active member of staff, and with the intention of producing at least one academic publication. 
  • Benefit from the School of Computing, Electronics and Mathematics’ strong links with industry. We have links with Apple, Microsoft, Oracle, Cisco, Intel, Nvidia and many more. We are a member of Microsoft DreamSpark and the Oracle Academy, both of which enable our students to acquire free software to support their studies (for example Microsoft Visual Studio, Server Operating Systems, SQL Server). 
  • In the latest UK government assessment of research (REF2014) 75% of our outputs in the categories ‘Computer Science and Informatics’ were ranked as internationally recognised and world leading. All the key researchers also teach; you are likely to actually meet these people.
  • Deepen your knowledge with content that is constantly revised in conjunction with input from local and national organisations, as well as with active researchers.

Course details

  • Year 1
  • In your first year, you’ll engage with the foundations of computer science from programming to algorithms, data structures and a little and mathematics. You’ll also database development, how to capture requirements and what happens inside a computer, including 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.

    Core modules
    • 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.

    • ISAD156 Databases: Analysis, Design and Development

      An introduction to the analysis and design concepts that are essential for developing and implementing database systems. The module will explore design concepts and procedures, such as principles of business rules, specifying requirements, data modelling, relational data modelling and SQL

    • NET111 Computer Systems

      This module is intended to provide a basic understanding of the operation of the hardware components of computer systems, including some low-level programming. The role of a typical multi-tasking operating system is also covered, memory management, process management and the filing system as is the need for security. Virtualisation is also covered. Finally, the module covers how to manage asynchronous programs safely.

    • SEC104 Cybersecurity and Networks

      Modern computing relies on networking and robust cybersecurity. This module is an introduction to Computer Networking and IT Security principles. Key networking concepts include routing and switching at all network levels and geographical scope, as well as wireless networks. Key areas of security include the underlying concepts and threats, as well as specific issues in security design of host systems and networks

    • SOFT152 Software Engineering

      Provides an intensive introduction to Software Engineering for those studying Computer Science or related courses where programming is a core and necessary component. The module includes coverage of problem solving involving abstraction and problem decomposition. At the outset implementation uses an imperative / structured programming approach, before moving onto Object Oriented and Event-driven methodologies.

    • SOFT153 Algorithms, Data Structures and Mathematics

      Data structures and algorithms lie at the heart of Computer Science as they are the basis for the 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.

    • SOFT165 Programme Introduction and Web Development

      This module provides an introduction for students to the concepts, modes of study and technical content relevant to their programme of study. It also provides a grounding in the basics of web development.

  • Year 2
  • In the second year, you use Oracle for developing databases, and you will go on a journey that takes you from being a programmer to a software engineer (how to structure program code when it gets complicated). We’ll continue to focus on your employability and prepare you for the placement. You also cover the ‘science of computer science’, for example Turing’s ideas on computation and machine intelligence. An integrating project combines all the skills you have learnt so far; you start with a concept and end with a product.

    Core modules
    • AINT252 Computation Theory and Artificial Intelligence

      This module provides students with an overview of a range of different paradigms for computing and computing theory and an introduction to theoretical principles and methods in artificial intelligence.

    • 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 itself.

    • ISAD251 Database Applications Development

      To introduce students to the concepts and issues concerning server-side applications interfacing multi-user, networked, relational databases and to providing a solid foundation in SQL.

    • ISAD260 User-Centred Interface Design

      This module aims to introduce students to the HCI principles, user-centred methodologies and ethical issues required for the design and evaluation of user-centred interfaces.

    • PRCS252 Computer Science Integrating Project

      This project provides an opportunity for students to draw together many of the threads of the Computer Science programme in preparation for their industrial placement and final year. Students work in teams to manage and complete a substantial project for a given scenario.

    • SOFT252 Object-oriented Software Engineering with Design Patterns

      This module aims to develop object-oriented software engineering principles and practices in including encapsulation, abstraction, aggregation and inheritance. It will introduce issues such as progression from analysis to design, implementation, testing and documentation and it includes the use of design patterns (proven solutions to common problems) and software quality principles for enhanced software development.

    • SOFT261 Embedded Programming and the Internet of Things

      This module aims to lift the lid of a computer and show how modern computers really work. A simple embedded microcontroller is used because such devices are simpler and feature prominently in the growing IoT sector. This includes issues relating to low level programming, multi-tasking and defensive programming techniques to mitigate against security vulnerabilities and exploits.

  • Optional placement year (very strongly recommended)
  • 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. You will learn to work within a professional context, giving you the opportunity to apply your knowledge and skills in the real world. 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. Placements are almost always paid.

    Core modules
    • 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.

  • Year 3
  • 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. You’ll spend the rest of your time studying your optional modules, including machine learning and artificial intelligence, programming for games development, high performance computing, and how to process big data. You will probably choose modules that relate to your intended career.

    Core modules
    • PRCO304 Computing Project

      The Computing Project gives an opportunity to tackle a major computing related problem in an approved topic area relevant to the programme of study.

    Optional modules
    • AINT308 Machine Vision and Behavioural Computing

      Providing an advanced knowledge of artificial vision systems for interactive systems guidance and control, this module is underpinned by current theoretical understanding of animal vision systems.

    • AINT351 Machine Learning

      This module introduces machine learning, covering unsupervised, supervised and reinforcement learning from Bayesian, Information Theoretic and decision making perspectives. This includes theory behind a range of learning techniques and how to apply these to build representations of data in systems that make decisions and predictions.

    • AINT353 Brain-inspired Cognitive Systems

      The module develops an understanding at a systems level of how the brain performs the functions of vision, hearing and movement control, and how novel artificial cognitive systems might use brain-inspired sensory and motor mechanisms to achieve human-like levels of performance.

    • AINT355 Industry Engagement

      The module provides a contextual framework for developers seeking to release games, APPs, software products or compete in national events. Topics include creating and protecting intellectual property, product placement, revenue models and licensing, investment, social enterprise, and due diligence. The module includes industry case studies, a guest speaker program and opportunities for individual mentoring.

    • ISAD358 Advanced Databases and Data Management

      This module considers the challenges of and solutions for managing, processing, analysing, securing and interpreting large amounts of unstructured data within relational database environments.

    • ISAD362 Software Project Management

      To enable students to acquire a critical understanding of the management and methodological issues associated with software development.

    • LAW3239 Cybercrime: Issues and Regulation

    • NET302 Distributed Systems

      Distributed systems represent the type of networked computer applications that modern users rely on daily. They are characterised by running on multiple heterogeneous devices subject to failure, yet performing speedily and robustly and scaling to substantial size.

    • PRCO308 Work-based Learning

      With a view to improving student employability, this module provides the opportunity for students to apply their knowledge to a real world IT problem within an existing IT company or client organisation.

    • SOFT352 Client-side Web Scripting

      This module explores the production of dynamic web applications with a particular focus on web user interfaces. Key elements such as object oriented and event-based scripting, asynchronous client-server communication and distributed content representation are explored though practical production. The production of a working prototype uses dynamic web frameworks such as HTML, CSS and JavaScript/JQuery.

    • SOFT354 Parallel Computation and Distributed Systems

      The module aims to develop skills in understanding and programming parallel and distributed computer system. It will provide an introduction to different parallel architectures, programming techniques and methodologies. Practical training will focus on HPC cluster and GPGPU architectures and programming techniques.

  • Year 4
  • You have the opportunity to undertake a substantial project in conjunction with a research active member of staff, and with the intention of producing at least one academic publication. Year 4 has a research based flavour and most of the modules in it are delivered by research active staff. The remainder of the modules are optional, and once again you will probably choose modules that relate to your intended career.

    Core modules
    • PRCO502 MSci Computing Project

      The MSci Computing Project gives an opportunity for students to undertake a major computing related project tackling a significant problem in a Computer Science topic area. It should be conducted with a research active member of staff and should aim to produce at least one academic publication.

    Optional modules
    • AINT511 Topics in Advanced Intelligent Robotics

      The objective of this module is to introduce the research activities of the Centre for Robotic and Neural System (CRNS). It will be taught by CNRS members who will lead a number of thematic workshops on their areas of expertise, such as developmental and evolutionary robotics, Brain-inspired architectures and learning methods. The module also covers scientific research methods and data analysis.

    • MATH500 Big Data and Social Network Visualization

      Sophisticated analytics techniques are needed to visualize today's increasing quantities of Big Data. Up-to-date R tools including dplyr for data manipulation, ggplot2 for visualization, and knitr/LaTeX for document presentation are studied. These are applied to database interrogation, social network visualization and sentiment analysis. A professionally documented collaborative R package is produced using RStudio.

    • NET502 Multimedia Networking

      Multimedia Networking refers to transmission of multimedia contents (e.g. voice and video) over IP networks, such as VoIP (e.g. Skype) and video streaming (e.g. YouTube). This module will cover principles involving a media delivery chain from media generation, transport to consumption. These will include voice/video compression, transport (RTP/RTCP), signalling (e.g. SIP/SDP), QoS/QoE, VoIP security and NGN/IMS.

    • ROCO506 Science and Technology of Autonomous Vehicles

      This module focuses on both theoretical principles and practical methodologies of robotic perception, mapping and navigation aiming at providing ground vehicles with multiple degrees of autonomy. In addition, advanced technologies from statistics, vision and machine learning will be analysed. The module will then focus on the implementation of these technologies on real platforms to close the perceive-reason-act loop.

    • ROCO507 Advanced Robot Design and Prototyping

      This module aims to give the students a theoretical and practical understanding of designing and building advanced robot assemblies and mechanisms, through engineering and bioinspired approaches.

    • SEC503 Intrusion Analysis and Incident Management

      This module will examine the field of intrusion prevention, detection and response and the role it plays within modern information security systems. It will introduce key concepts in the analysis of network traffic for signs of intrusions, as well as the process of responding to computer incidents.

    • SOFT563 Software Engineering for Distributed and Interactive Systems

      In this module, students will develop applications involving interconnected hardware devices and software capabilities. Devices include both embedded and networked computers. Capabilities include sensor data acquisition, actuator control, user modelling and behaviour generation. The module will cover both theory and practical work, including management of code complexity and dealing with real-time, and reliability issues.

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:

MSciComputerScience ProgrammeSpecification September2017 5823

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.

Entry requirements

UCAS tariff

120 - 128

Applicants exceeding our entry requirements may be eligible for an offer under our Computing Excellence Scheme.

GCSE:  GCSE English C/4 and mathematics grade B/6.

A levels: To include a minimum of 2 A Levels. All subjects considered but at least once technical subject eg Maths, Physics preferred please contact the admissions team for further advice. Excluding General Studies.  

BTEC/Access: Please contact the admissions team at for further advice.

International Baccalaureate: 30-32 overall. All subjects considered but at least once technical subject eg Maths, Physics preferred please contact the admissions team for further advice.

Students on the BSc (Hons) Computer Science degree may transfer to the MSci BSc (Hons) Computer Science degree if they are averaging better than 60 per cent.

Fees, costs and funding

New Student 2018 2019
Home/EU £9,250 £9,250
International £13,000 £13,400
Part time (Home/EU) To be confirmed To be confirmed
Full time fees shown are per annum. Part time fees shown are per a number of credits. Please note that fees are reviewed on an annual basis. Fees and the conditions that apply to them shown in the prospectus are correct at the time of going to print. Fees shown on the web are the most up to date but are still subject to change in exceptional circumstances.

How to apply

All applications for undergraduate courses are made through UCAS (Universities and Colleges Admissions Service). 

UCAS will ask for the information contained in the box at the top of this course page including the UCAS course code and the institution code. 

To apply for this course and for more information about submitting an application including application deadline dates, please visit the UCAS website.

Support is also available to overseas students applying to the University from our International Office via our how to apply webpage or email

Careers in computer science

Do you want to design your own mobile apps? Or are you determined to work as a web developer?

Whatever your career goals, we’ll work with you to give you the support you need, preparing you to make a real impact in the computing and IT industry

Find out more about how we prepare you for your career

Potential High Achievers Scheme

In the School of Computing, Electronics and Mathematics we recognise that our students are the future of the growing computing and electronics industry. We know that our applicants will thrive in the hands-on environment we can provide, and we want to ensure our best applicants become our future.

The scheme is now open for students who have applied to study, from September 2018, a range of full-time undergraduate courses within the School of Computing, Electronics and Mathematics. We will be contacting applicants who are not only on course to achieve top marks but who have an outstanding personal statement, in order to offer them a chance to receive an unconditional offer immediately.

Find out more about the scheme.