Triangle

Course overview

CS 450x250

  • Learn current computing practice that can be applied immediately after graduation
  • Study research-level topics that will play an important role in future developments
  • Study in a UK top 10 computer science department for research*

*Research Excellence Framework, 2014

You will learn about current computing practice that can be applied immediately after graduation, foundational aspects of computing that will be of lasting value as technology changes over time, and research-level topics that will play an important role in future developments. The course also provides an understanding of the nature of computer science as an academic discipline.

MSci Computer Science including International Year is closely aligned with the MSci Computer Science degree. Please see the module list for MSci Computer Science for a flavour of the modules available.


Entry requirements

All candidates are considered on an individual basis and we accept a broad range of qualifications. The entrance requirements below apply to 2019 entry.

UK entry requirements
A level AAA (AAB if you have an A in computer science/computing)

Please note: Applicants whose backgrounds or personal circumstances have impacted their academic performance may receive a reduced offer. Please see our contextual admissions policy for more information.

Required subjects

Five GCSEs including maths, 5 (B) or above

IB score 34-32 (5 in maths at Standard/Higher Level or GCSE maths at grade 5 (B))

A levels and GCSEs

A levels: AAA (AAB if you have an A in computer science/computing)

(Please note, A level ICT or IT do not qualify for the lower entry requirements)

Required subjects: 5 GCSEs at grade 5 (B) or above including mathematics

English language requirements 

IELTS 6.5 (no less than 6.0 in any element)

For details of other English language tests and qualifications we accept, please see our entry requirements page.

If you require additional support to take your language skills to the required level, you may be able to attend a presessional course at the Centre for English Language Education, which is accredited by the British Council for the teaching of English in the UK. 

Students who successfully complete the presessional course to the required level can progress onto their chosen degree course without retaking IELTS or equivalent.

Alternative qualifications 

For details see the alternative qualifications page 

foundation year is available for all our courses

Flexible admissions policy

In recognition of our applicants’ varied experience and educational pathways, the University of Nottingham employs a flexible admissions policy. We may make some applicants an offer lower than advertised, depending on their personal and educational circumstances. Please see the University’s admissions policies and procedures for more information.

Mature Students

At the University of Nottingham, we have a valuable community of mature students and we appreciate their contribution to the wider student population. You can find lots of useful information on the mature students webpage.

Learning and assessment

How you will learn

How you will be assessed

Study Abroad and the Year in Industry are subject to students meeting minimum academic requirements. Opportunities may change at any time for a number of reasons, including curriculum developments, changes to arrangements with partner universities, travel restrictions or other circumstances outside of the university’s control. Every effort will be made to update information as quickly as possible should a change occur.

Modules

You will be introduced to key concepts and tools underpinning modern computer science as well as learning to work in a variety of programming paradigms including imperative, object-oriented and functional languages such as C, Java and Haskell.

You will also study the architecture of computers at the chip and system level, be introduced to artificial intelligence, and meet the areas of mathematics you will need later in the course.

Programming and Algorithms

The module introduces basic principles of programming and algorithms. It covers fundamental programming constructs, such as types and variables, expressions, control structures, and functions.

You'll learn how to design and analyse simple algorithms and data structures that allow efficient storage and manipulation of data. You'll also become familiar with basic software development methodology.

You will spend around six hours per week in lectures, computer classes and tutorials.

Computer Fundamentals

You will gain a basic understanding of the fundamental architecture of computers and computer networks.

You’ll learn how the simple building blocks of digital logic can be put together in different ways to build an entire computer.

You’ll also learn how modern computer systems and networks are constructed of hierarchical layers of functionality which build on and abstract the layers below.

You will spend five hours per week in tutorials, lectures and computer classes.

Systems and Architecture

This module runs alongside 'Computer Fundamentals' and provides an expanded view by considering how real computer systems (such as ARM, x86, Linux and *BSD) and networks work.

You’ll also cover the principles of the lower level implementation of I/O using polling and interrupts, and the use of exceptions; how memory and storage are organized as well addressing the issues arising from multicore systems. 

You’ll spend around five hours per week in tutorials, lectures and computer classes.

Mathematics for Computer Scientists

You’ll cover the basic concepts in mathematics which are of relevance to the computer scientists.

These include:

  • logic
  • sets
  • functions and relations
  • graphs
  • induction
  • basic probability
  • statistics and matrices
Database and Interfaces

This module considers both the structure of databases, including how to make them fast, efficient and reliable, and the appropriate user interfaces which will make them easy to interact with for users. You will start by looking at how to design a database, gaining an understanding of the standard features that management systems provide and how you can best utilise them, then develop an interactive application to access your database.

Through the lectures and computing sessions you will learn how to design and implement systems using a standard database management system, web technologies and GUI interfaces through practical programming/system examples.

Software Engineering

This module focuses on the fact that programming is only one step of the larger Software Engineering Process. To develop good software, you must gather requirements, design it well, plan the development, do the programming, have a testing strategy, test the parts and the product as a whole, and have a maintenance strategy for fixing the things that no one (even the client) imagined were important until it after it was delivered.

Software Engineering is a process that is much more than just programming. You'll spend two-three hours per week discussing the stages of the Software Engineering process in lectures, whilst carrying out activities in labs that help you understand the underlying issues.

Programming Paradigms

In this module you will learn the basic principles of the object-oriented and functional approaches to programming, using the languages Java and Haskell. You will also see how they can be used in practice to write a range of different kinds of programs.

Fundamentals of Artificial Intelligence

You will gain a broad overview of the fundamental theories and techniques of artificial intelligence (AI).

You’ll explore how computers can produce intelligent behaviour, and will consider topics such as the history of AI, AI search techniques, neural networks, data mining, philosophical and ethical issues, and knowledge representation and reasoning.

You will spend two hours per week in lectures for this module. 

The above is a sample of the typical modules we offer but is not intended to be construed and/or relied upon as a definitive list of the modules that will be available in any given year. Modules (including methods of assessment) may change or be updated, or modules may be cancelled, over the duration of the course due to a number of reasons such as curriculum developments or staffing changes. Please refer to the module catalogue for information on available modules. This content was last updated on Thursday 15 August 2019.

You will take part in a software engineering group project, many of which have an industry partner, that puts the theory and skills you have learned into practice. At the same time, you will study programming and the underlying theory of computation in greater depth, exploring more advanced algorithms and their use in operating systems.

In the second semester, you can begin to shape your own course by choosing modules on topics in different areas of computer science. This includes human-computer interaction, image processing, C++ programming, functional programming, and advanced artificial intelligence.

Software Engineering Group Project

Working in groups of around five to six people, you’ll be assigned a supervisor who will provide you with a short written description of a computer application to be designed, programmed, and documented during the course of the module.

Each group will meet twice a week, once with your supervisor and once without; you’ll also have four introductory one hour lectures.

Algorithms, Correctness and Efficiency

This module covers important aspects of algorithms, namely their correctness and efficiency.

You’ll study topics such as:

  • proofs in propositional logic and predicate logic
  • classical vs. intuitionistic reasoning
  • basic operations on types
  • verification of list based programs
  • introduction to program specification and program correctness

To address the issue of efficiency we cover the use of mathematical descriptions of the computational resources needed to support algorithm design decisions. The emphasis is upon understanding data structures and algorithms so as to be able to design and select them appropriately for solving a given problem.

Operating Systems and Concurrency

This course covers the fundamentals of operating systems and concurrency.

Topics in operating systems include:

  • the architecture of operating systems
  • process management
  • memory management
  • file systems
  • a brief introduction to virtualisation and cloud computing

The principles of concurrency will be introduced from both the perspective of an operating system. Specific topics on concurrency include:

  • hardware support for concurrency
  • mutual exclusion
  • the use of threads
  • synchronisation
Languages and Computation

You'll investigate classes of formal language and the practical uses of this theory, applying this to a series of abstract machines ultimately leading to a discussion on what computation is and what can and cannot be computed.

You'll focus in particular on language recognition, but will study a range of topics including:

  • finite state machines
  • regular expressions
  • context-free grammars
  • Turing machines
  • Lambda calculus

This module builds on parts of the ACE module addressing data structures and formal reasoning and introduces concepts which are important to understand the analysis of algorithms in terms of their complexity.

Human Computer Interaction

Through two hours of lectures each week, you’ll be given an overview of the field of Human Computer Interaction, which aims to understand people's interaction with technology and to apply this knowledge in the design of usable interactive computer systems. The module will introduce the concept of usability and will examine different design approaches and evaluation methods.

Software Quality Management

Through a two hour lecture each week, you’ll be introduced to concepts and techniques for software testing and will be given an insight into the use of artificial and computational intelligence for automated software testing. You’ll also review recent industry trends on software quality assurance and testing.

Artificial Intelligence Methods

This module builds on the Fundamentals of Artificial Intelligence module. The emphasis is on building on the AI research strengths in the School.

You will be introduced to key topics such as AI techniques, fuzzy logic and planning, and modern search techniques such as Iterated Local Search, Tabu Search, Simulated Annealing, Genetic Algorithms, and Hyper-heuristics, etc.

You will also explore the implementation of some AI techniques.

The above is a sample of the typical modules we offer but is not intended to be construed and/or relied upon as a definitive list of the modules that will be available in any given year. Modules (including methods of assessment) may change or be updated, or modules may be cancelled, over the duration of the course due to a number of reasons such as curriculum developments or staffing changes. Please refer to the module catalogue for information on available modules. This content was last updated on

Students progressing into year three of the international year degree study an approved computer science programme at one of our partner universities, currently Australia, Canada, Hong Kong, Ireland, Mexico, or New Zealand.

Lecture courses, laboratory classes and project work will allow you to benefit from the unique opportunities for study abroad and to gain a global perspective on computer science.

Upon your return to Nottingham, you will follow year four of MSci Computer Science.

In your final year, you can undertake a more advanced project, whether individually or as a group, focusing on advanced software development or research.

Aside from these, you have the freedom to develop your expertise from a range of modules on topics including fuzzy logic, data modelling and analysis, game design, design ethnography, autonomous robotic systems, and advanced computer networks.

Fees and funding

UK students

£9250
Per year

International students

£22620*
Per year

*For full details including fees for part-time students and reduced fees during your time studying abroad or on placement (where applicable), see our fees page.

If you are a student from the EU, EEA or Switzerland, you may be asked to complete a fee status questionnaire and your answers will be assessed using guidance issued by the UK Council for International Student Affairs (UKCISA) .

Scholarships and bursaries

The University of Nottingham offers a wide range of bursaries and scholarships. These funds can provide you with an additional source of non-repayable financial help. For up to date information regarding tuition fees, visit our fees and finance pages.

School scholarships

Here is an example of some scholarships which have been offered in previous years, 2019 scholarships will be confirmed shortly:

  • A Level Achievement Award (£3000)
  • Undergraduate Summer School Participant Scholarships (£1000)
  • Undergraduate International Scholarships (£2000)
  • Women in Computer Science Scholarship (£3000)
  • Undergraduate Students Exceptional Achievement Award (£1000)

See full details and eligibility criteria on our website

Home students*

Over one third of our UK students receive our means-tested core bursary, worth up to £1,000 a year. Full details can be found on our financial support pages.

* A 'home' student is one who meets certain UK residence criteria. These are the same criteria as apply to eligibility for home funding from Student Finance.

International students

We offer a range of international undergraduate scholarships for high-achieving international scholars who can put their Nottingham degree to great use in their careers.

International scholarships

Careers

You will graduate with: an understanding of computers and computer science; specialised knowledge of the theoretical foundations of computer science and other selected topics within the discipline; experience in a variety of techniques needed to solve problems encountered in the discipline; and an understanding of the professional, legal and ethical aspects of the discipline. The MSci will allow you to engage with the cutting-edge research in computer science.

Ben's journey after graduation

Average starting salary and career progression

91.8% of undergraduates from the School of Computer Science secured employment or further study within 15 months of graduation. The average annual salary for these graduates was £32,104.*

* HESA Graduate Outcomes Survey 2020 data extracted from the University of Nottingham Graduate Outcomes dashboard.

Studying for a degree at the University of Nottingham will provide you with the type of skills and experiences that will prove invaluable in any career, whichever direction you decide to take.

Throughout your time with us, our Careers and Employability Service can work with you to improve your employability skills even further; assisting with job or course applications, searching for appropriate work experience placements and hosting events to bring you closer to a wide range of prospective employers.

Have a look at our careers page for an overview of all the employability support and opportunities that we provide to current students.

The University of Nottingham is consistently named as one of the most targeted universities by Britain’s leading graduate employers (Ranked in the top ten in The Graduate Market in 2013-2020, High Fliers Research).

Dummy placeholder image

Related courses

Important information

This online prospectus has been drafted in advance of the academic year to which it applies. Every effort has been made to ensure that the information is accurate at the time of publishing, but changes (for example to course content) are likely to occur given the interval between publishing and commencement of the course. It is therefore very important to check this website for any updates before you apply for the course where there has been an interval between you reading this website and applying.