Course details
- A level requirements: AAA
- UCAS code: G400
- Study mode: Full-time
- Length: 3 years
Return to top
From the underlying principles to the very edge of modern technology, this programme will cover all aspects of Computer Science and ensure that when you graduate you will know exactly what is and isn't possible with computers.
Study Computer Science at Liverpool and develop a deep understanding of the technology that underpins much of modern life and society. Computer Science is a great choice for those with a keen interest in computers, software and technology. You’ll create functional applications as well as how to consistently iterate and improve your work.
After learning core theory you can choose to maintain a balanced mixture of modules throughout your degree or opt to follow a specialist pathway in artificial intelligence, algorithms and optimisation or data science.
In the first two years you will cover programming, computer systems, databases, software engineering, algorithmic foundations, complexity of algorithms & decision and computation & language.
The course is accredited by the British Computer Society which means that the course is continually updated and adapted to reflect new technologies and emerging trends.
After you’ve covered the core elements, we give you the flexibility to tailor your own learning to your own interests, offering specialisms in in artificial intelligence, algorithms and optimisation, data science, and software development.
Accredited by BCS, so opens up a wide variety of career opportunities with excellent employment prospects.
We’re proud to announce we’ve been awarded a Gold rating for educational excellence.
Discover what you'll learn, what you'll study, and how you'll be taught and assessed.
In year one you will learn the fundamentals of Computer Science. Starting with an introduction to procedural programming using commonly found language platforms, you’ll move on to learn about the importance of hardware and software components within the operation of computer systems, formal analytic techniques and the development of artificial intelligence.
Many areas of Computer Science rely on formal analytic techniques and this module presents a basic grounding in a number of these topics focusing on their role and application to computational issues. Among the topics reviewed are Linear Algebra (with particular attention to Matrix Theory); Statistical aspects; Introductory calculus including the concepts of limits, continuity, basic differentiation and integration formulae; properties of Complex Numbers. If time allows a very brief overview of the principles of Information Theory will be included. The overriding aim of this module is to present the methods discussed in the context of practical Computer Science, and as such the emphasis will be on instilling confidence in applying techniques and not on providing rigorous supporting justifications of their validity.
This module provides a basic introduction to the important hardware and software components supporting the operation of computer systems. The module presents coverage of how low-level hardware components are organised so as to provide a platform on which complex software systems can be built. Coverage includes the important components of modern operating systems, including abstractions such as processes and concurrency. There is an opportunity to gain some practical awareness of low-level programming and a modern command-line environment.
This module introduces students to some basic algorithms and data structures. It gives some fundamental concepts of design and analysis of algorithms, and implementation of algorithms by choosing appropriate data structures.
This module will provide students with an all rounded appraisal of what is expected from a computing professional in the current digital society. Students will be introduced to social, legal and ethical aspects on computing and will develop employability skills. As a way to blend both theory and practice, students will be equipped with concepts and techniques for designing digital systems tailored to the needs of the user.
This module provides students with the mathematical foundation, mathematical tools and basic proof techniques necessary for the study of Computer Science and develops the study skills necessary to learn new concepts in this area.
Artificial intelligence (AI) is the theory and development of machines able to perform tasks normally requiring human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages. In the 21st century, AI techniques became an essential part of the technology industry. High-profile examples include autonomous vehicles, medical diagnosis, creating art, proving mathematical theorems, playing games, search engines, and online assistants. This module provides an application driven introduction to AI through studying the basic problems most AI systems have to deal with: search problems, reasoning under uncertainty, knowledge representation, planning, and learning in intelligent systems. The module will also provide a basic introduction to the history and philosophy of AI as well as recent issues in ethics of AI.
The intention of COMP122 is to introduce students to the concepts and methodology of object-oriented programming using the Java programming language. Topics covered include hierarchical structures, polymorphism, collections and iterators, exception handling, and graphical user interface design. Basic concepts of software design methodology, testing, and version control are also included in the module. It is normally expected that students have prior programming experience.
The module provides an introduction to procedural programming using current language platforms. The module incorporates program design, problem solving, the importance of maintainable, robust software and testing as well as introducing procedural language main programming constructs. Students gain practical experience with program design, programming and testing during weekly laboratory sessions.
This module is for students that already have some programming skills. Students will learn about the two main programming paradigms: imperative programming and functional programming. Since most introductory programming courses teach imperative programming, this module will focus on the functional paradigm. Students will learn how to program in Haskell, a popular functional programming language. They will learn how to formulate programs in a functional way, and the common techniques and idioms that are used to solve problems in functional programming.
In year two you will expand your knowledge of key concepts and skills related to software development and database development. You will also begin to choose which wider elements of computer science you want to engage with such as cyber security, computer based trading in financial markets and principles of computer game design.
This module studies techniques, such as dynamic programming and recursion, used for the design and analysis of algorithms and data structures. Some fundamental algorithmic problems are studied, such as searching, sorting and network flows and efficient algorithms for such problems. The emphasis of this module is on problem solving using efficient algorithms together with their formal analysis and implementation, thus enhancing the students’ toolbox for efficient programming.
This module introduces students to the problems arising from databases, including concurrency in databases, information security considerations and how they are solved; the integration of heterogeneous sources of information and the use of semi-structured data; non-relational databases and the economic factors involved in their selection and to techniques for analysing large amounts of data, the security issues and commercial factors involved with them.
Software development skills form a fundamental part of the professional expertise of a Computer Scientist. Often the development is a team activity. The module provides the students with the unique opportunity to complete a sizeable software development project working as part of team.
This module deals with the issues associated with the analysis, design, implementation and testing of significant computing systems (that is, systems that are too large to be designed and developed by a single person).
This module looks at the ways in which the C programming language can be extended to incorporate object oriented principles, by looking at C++. The module also examines the ways in which object orientation offers a natural means of developing graphical, event-driven applications within a powerful IDE.
This module will provide students with an introduction to the machine learning. It will contain traditional machine learning algorithms, deep learning algorithms, and probabilistic graphical models. Both theoretical knowledge and practical skills will be offered.
This module covers the theory and practice of the application of tools to the software development lifecyle
The last few decades has seen a huge transformation in finance, where
human traders have been increasingly replaced by algorithms. The aims of COMP226 are to:
– Provide an understanding of financial markets at the level of individual trades;
– Provide an overview of computer-based trading applications;
– Introduce key issues with the use of market data;
– Develop a practical understanding of the development of algorithmic trading strategies.
This module provides an introduction to current computer networks and communications technologies. We will use the architecture and protocols of the Internet as a primary vehicle for studying fundamental computer networking concepts. This will include an in-depth study of the key protocols that enable communications accross the Internet. You will become familiar with the various network devices and network addressing schemes. We will identify critical network security issues and study approaches towards addressing these issues.
This module aims to introduce formal concepts of automata, grammars and languages; to introduce ideas of computability and decidability, and to illustrate the importance of automata, formal language theory and general models of computation in Computer Science and Artificial Intelligence.
This module covers the concepts of distributed systems and the underlying principles of distributed computing and discusses the issues and various solutions proposed in the distributed computing community. Specifically, communication and broadcast, election algorithms, synchronization and concurrency, fault-tolerance and security related issues will be discussed in the lectures. Where applicable practical implementations of the concepts will be introduced.
This module aims to provide a more in depth experience of crucial employability skills needed to secure either a placement or a graduate job.
When dealing with computationally intensive tasks, such as in scientific computing, it is important to make the most out of the available computational resources. In order to accomplish this, one can use low-level programming languages, such as assembly, but the downside is that these are difficult to write, port and maintain. Alternatively, one can pick a high-level language with a small computational overhead. This module will teach how to program in one such a language: the C programming language.
This module introduces topics commonly present in the modern computer games from software architecture principles to advanced artificial intelligence techniques to the creation of 3D content. As part of the continuous assessment, students create a simple 3D video game using an existing game engine and an AI control procedure for a multiuser framework.
COMP284 `Scripting Languages’ is one of several technical skills/employability skills modules offered in the second semester of the second year of study. It addresses both the demand by employers and the desire of students that students should encounter a range of programming languages during their studies and should be able to use these programming languages productively. Scripting languages have gained enormously in their popularity with the expansion and development of the world wide wide and world wide web technologies as they are now the predominant languages used in the development of web applications. The module will cover two scripting languages, namely, JavaScript and PHP. At the end of the module students should be able to develop applications, both web-based and computer-based, in them.
This module covers the skills and knowledge required for the effective use of tools in the software development lifecycle.
The module provides a thorough introduction to the area of Cyber Security, including cryptographic algorithms and protocols, systems vulnerabilities and attacks, computer networks and web security. The main basic concepts and theoretical foundations are presented in the lectures, while extensive practical sessions support the development of skills in practical cybersecurity.
This module provides a thorough introduction to the new subject of Data Science starting from the fundamental mathematical methods and developing real-life applications in several areas including Pattern Recognition, Materials Science, Computer Vision, Climate Analysis. The basic concepts from Linear Algebra and Metric Geometry will be gradually introduced without assuming any prior knowledge. The methods and algorithms from Graph Theory and Computational Geometry will be illustrated by worked examples and short programs/scripts.
App Development is an exploration of the design and programming of application programs on mobile devices. It covers topics such as how to design for small displays and non-traditional input devices; what the expectations of mobile users are; how to use publicallly accessible data sources to develop innovative solutions.
This module is for students that already have some programming skills. Students will learn about the two main programming paradigms: imperative programming and functional programming. Since most introductory programming courses teach imperative programming, this module will focus on the functional paradigm. Students will learn how to program in Haskell, a popular functional programming language. They will learn how to formulate programs in a functional way, and the common techniques and idioms that are used to solve problems in functional programming.
Year three is where you will start to build on what you’ve learnt to far with your own research and exploration by undertaking an individual project. Whilst guided, you will work independently to explore a substantial computer science problem in depth, making use of the principles, techniques and methodologies acquired elsewhere in the programme.
The honours year project gives students the opportunity to study independently on an extended piece of work under the guidance of an academic supervisor. Many diverse projects are available for selection, inspired by the research of the department. Each student is encouraged to propose a project in an area that meets their own personal needs, whether it’s related to their career aspirations or simply an interesting academic pursuit. The project consolidates learning from the taught part of the course, with authentic assessment that is designed to encourage communication of complex ideas via a range of media. On completion of the module, students will have the confidence to pursue their career, having developed proficiency in their chosen topic and an ability to communicate clearly and effectively.
Biology inspired adaptive algorithms such as Artificial Neural Networks (ANNs) and Genetic Algorithms (GAs) play an important role in modern computing, information processing, and machine learning. The latest increase in computer power ensured broad use of the algorithms to solve problems in science and engineering previously considered impossible to tackle. ANNs are now broadly used in pattern recognition, including speech recognition and classification problems, statistics, functional analysis, modelling financial series with considerable stochasticity, etc. GAs are search procedures based on the mechanics of natural selection and natural genetics. They provide effective solutions to a variety of optimisation problems in economics, linguistics, engineering, and computer science. Both ANNs and GAs can exploit massively parallel architectures to speed up problem solving and provide further understanding of intelligence and adaptation.The main goals of the module are to introduce students to some of the established work in the field of Artificial Neural Networks and Genetic Algorithms and their applications, particularly in relation to multidisciplinary research. To equip students with a broad overview of the field, placing it in a historical and scientific context. The module provides students with the knowledge and skills necessary to keep up-to-date in actively developing areas of science and technology and be able to make reasoned decisions.
This module spans both semesters in the final year, with a small number of teacher training lectures in the first semester, followed by delivery of a lesson in the second semester as part of the department’s outreach activities. Students will consider the issues associated with teaching STEM subjects in schools, and learn how to create a lesson plan that delivers a computer science topic within the context of the National Curriculum in Computing. They will then deliver this lesson several times in a real classroom setting, and reflect on its effectiveness in a written report. There is a significant amount of private study, with the majority of the time spent in the first semester, so students must manage their time effectively.
Complex network structures are ubiquitous: the world-wide web, the internet, mobile phone networks, social communities, network structures in
biology are just a few popular examples. The module shows how simple combinatorial and algorithmic techniques can be exploited to obtain useful information
about these (often) massive structures. The content is delivered through a mixture of lectures on core topics and more informal presentations on
various application areas. A series of interactive tutorials and on-line tools in VITAL complete the support offered by this module.
In this module we introduce and study games that have some underlying network structure or that appear in auctions. A focus will be on scheduling and routing, as well as on the computational aspects in the design of mechanisms and auctions.
This module aims to teach students some advanced topics in the design and analysis of efficient sequential algorithms, and a few key results related to the study of their complexity.
As more complex computational systems are used within critical applications, it is becoming essential that these systems are formally specified. Such specifications are used to give a precise and unambiguous description of the required system. In addition, as computational systems become more complex in general, formal specification can allow us to define the key characteristics of systems in a clear way and so help the development process. Formal specifications provide the basis for verification of properties of systems. While there are a number of ways in which this can be achieved, the model-checking approach is a practical and popular way to verify the temporal properties of finite-state systems. Indeed, such temporal verification is widely used within the design of critical parts of integrated circuits, has recently been used to verify parts of the control mechanism for one of NASA’s space probes, and is now beginning to be used to verify general Java programs.
This module will introduce: the principles of standard formal methods, such as Z; the basic notions of temporal logic and its use in relation to reactive systems; the use of model checking techniques in the verification of reactive systems.
This module covers the fundamentals of how images are generated, represented, compressed and processed to extract features of interest.
This module is an introduction to the area of algorithmic game theory, which is a novel area in the intersection of economics and computer science. It provides tools for dealing with and analysing problems related to applications motivated by the Internet. Examples involve various Internet auctions and e-commerce systems, like, Google’s sponsored search, Ebay auctions, recommendation systems, etc.
This module presents formal ways to reason about knowledge and uncertain or partial information.
Multi-agent systems have emerged as one of the most important areas of research and development in information technology in the 1990s. A multi-agent system is one composed of multiple interacting software components known as agents, which are typically capable of co-operating to solve problems that are beyond the abilities of any individual member. Multi-agent systems are important primarily because they have been found to have very wide applicability, in areas as diverse as industrial process control and electronic commerce. This module will begin by introducing the student to the notion of an agent, and will lead them to an understanding of what an agent is, how they can be constructed, and how agents can be made to co-operate effectively with one another to solve problems.
Introduction to neural network theory, applications and artificial intelligence.
This modules provides a basic introduction to the main principles behind representing and retrieving knowledge effectively on the Web. The module covers the evolution from the standard Web to the Semantic Web, and gives student the opportunity to gain an awareness of the main methods and techniques, including practical awareness, of the main issues arising in annotating web pages with semantic information, in interlinking pages with similar semantic content and in effectively querying these pages.
This module is an indepth tour over optimisation methods applied for various optimisation models. These methods are extensively used in both academic and industrial practices.
The aims of this module are to develop an understanding of the principals of Robotics and Autonomous Systems, as well as the pragmatic skills of developing such systems on top of a Robotics Platform.
The overall aim of this module is to introduce students to a range of advanced, near-research level topics in contemporary software engineering. The actual choice of topics will depend upon the interests of the lecturer and the topics current in the software engineering research literature at that time. The course will introduce issues from a problem (user-driven) perspective and a technology-driven perspective where users have new categories of software problems that they need to be solved, and where technology producers create technologies that present new opportunities for software products. It will be expected that students will read articles in the software engineering research literature, and will discuss these articles in a seminar-style forum.
Forensic Computing involves the examining and analysing of data retrieved from various computer storage mediums, to be used as evidence in a court of law. Students will develop the skills and knowledge to undertake a forensic computing investigation in a systematic manner utilising existing methods, tools and techniques.
This module provides an initial overview of key algorithms and algorithmic approaches and corresponding software environments used when developing solutions to Big Data problems and explains how to use these to analyse data. A significant portion of statistics, some advanced AI approaches as well as key deterministic and hybrid algorithms are included to support the development of future data analytics and to understand how to develop stochastic, machine learning and hybrid algorithms that can exploit Big Data and can be applied to solve real life problems.
This module provides an introduction to the topic of Computer Vision and helps students develop the practical skills necessary to build computer vision applications. It presents fundamental problems in both 2D and 3D vision with a variety of classical and emerging approaches to overcome them.
To provide an in-depth, systematic and critical understanding of some of the current research issues at the forefront of the academic research domain of data mining. Google search framework and IBM Watson QA system and various other industrial level data mining applications are discussed.
In this module, we study the use of High-Performance Computing systems, from accessing them to programming for them. We study some theory including Computer Architecture at the hardware level to some fundamentals of parallelism. We then go into practical parallelism using C on multicore systems using OpenMP and multiprocessor/distributed systems using MPI. We will also briefly study GPU programming using CUDA, as well as some emerging hardware architectures.
In this module, we focus on how robots perceive the world and accomplish manipulation tasks, which is widely used in many applications such as warehouse robots and assistive robots in a domestic environment. We will study how sensory data, e.g., visual images and tactile data, is transformed into representations like features of object shapes, poses and textures. Such representations facilitate the grasping and manipulation of objects.
This modules aims to cover advanced concepts underpinning computer games development; including game AI, content generation, graphics, physics and sound. As part of the continuous assessment, students apply those concepts to computer games development.
This module will provide an introduction to cloud computing. It will cover physical cloud infrastructure (data-centres, networks and servers), and the software stacks that run on it (containers, micro-services, orchestration and web frameworks).
During the course, students will assemble their own cloud-based application, which will be a webpage with a scalable micro-service-based backend.
Teaching is a mix of formal lectures, small group tutorials and supervised laboratory-based practical sessions. Students also undertake individual and group projects. Key problem solving skills and employability skills, like presentation and teamwork skills, are developed throughout the programme.
The main modes of assessment are through a combination of coursework and examination, but depending on the modules taken you may encounter project work, presentations (individual or group), and specific tests/tasks focused on solidifying learning outcomes.
We have a distinctive approach to education, the Liverpool Curriculum Framework, which focuses on research-connected teaching, active learning, and authentic assessment to ensure our students graduate as digitally fluent and confident global citizens.
Studying with us means you can tailor your degree to suit you. Here's what is available on this course.
Computer science is housed in a grade II listed building which has been extensively refurbished for 21st century needs and challenges and provides state-of-the art equipment and high-speed communication links.
Dr Terry Payne talks you through what you can expect studying Computer Science at the University of Liverpool and shows you some of the facilities and equipment you will be using.
From arrival to alumni, we’re with you all the way:
The University has also provided me with the best opportunities to meet amazing people in my field through networking events.
Want to find out more about student life?
Chat with our student ambassadors and ask any questions you have.
A day in the life of Computer Science student Shania
Liverpool’s computer science graduates go onto well-paid graduate jobs and careers such as: computer programmer; software developer; systems analyst; software engineer; technical consultant; web designer.
Computer science graduates will enter a high-in-demand pool in the field with possible roles in:
Recent employers include:
Hear what graduates say about their career progression and life after university.
Graduating from Computer Science in 2020, Nachi describes her time at the University of Liverpool and how it has prepared her for first role after University.
Graduating from Computer Science in 2013, Kirsty describes her time at the University of Liverpool and how she is now running her own tech startup.
Your tuition fees, funding your studies, and other costs to consider.
UK fees (applies to Channel Islands, Isle of Man and Republic of Ireland) | |
---|---|
Full-time place, per year | £9,535 |
Year in industry fee | £1,850 |
Year abroad fee | £1,385 |
International fees | |
---|---|
Full-time place, per year | £29,900 |
Year in industry fee | £1,850 |
Year abroad fee | £14,950 |
Tuition fees cover the cost of your teaching and assessment, operating facilities such as libraries, IT equipment, and access to academic and personal support. Learn more about fees and funding.
We understand that budgeting for your time at university is important, and we want to make sure you understand any course-related costs that are not covered by your tuition fee. This could include buying a laptop, books, or stationery.
Find out more about the additional study costs that may apply to this course.
We offer a range of scholarships and bursaries that could help pay your tuition and living expenses.
We've set the country or region your qualifications are from as United Kingdom. Change it here
The qualifications and exam results you'll need to apply for this course.
AAA incl. A-level Maths or Computer Science. BTEC D*D*D* plus A-level Maths or Computer Science. If A-level Maths isn’t taken, require GCSE Maths Grade A (7) or above.
We've set the country or region your qualifications are from as United Kingdom. Change it here
Your qualification | Requirements |
---|---|
A levels |
AAA including Maths or Computer Science Narrowly missed the entry requirements on results day? Applicants with the Extended Project Qualification (EPQ) are eligible for a reduction in grade requirements. For this course, the offer is ABB with A in the EPQ. You may automatically qualify for reduced entry requirements through our contextual offers scheme. If you don't meet the entry requirements, you may be able to complete a foundation year which would allow you to progress to this course. Available foundation years: |
T levels |
T levels are not currently accepted. |
GCSE | 4/C in English and 4/C in Mathematics |
Subject requirements |
For applicants from England: For science A levels that include the separately graded practical endorsement, a "Pass" is required. |
BTEC Level 3 National Extended Certificate |
Acceptable at grade Distinction* (any subject) alongside AA at A level. A Levels must include Mathematics or Computer Science. |
BTEC Level 3 Diploma |
BTEC Level 3 National Diploma: Acceptable at grade Distinction* Distinction (any subject) alongside A at A level (including Mathematics or Computer Science). |
BTEC Level 3 National Extended Diploma |
BTEC Level 3 National Extended Diploma: D*D*D* plus A level Maths or Computer Science. If A level Maths isn’t taken, require GCSE Maths Grade A (7) or above. |
International Baccalaureate |
36 overall including 5 in Higher Level Mathematics or Computer Science. |
Irish Leaving Certificate | H1,H1,H2,H2,H2, H2 including H2 in Higher Maths or Computer Science. We also require a minimum of H6 in Higher English, or O3 in Ordinary English and Ordinary Maths (plus indicative Maths test). |
Scottish Higher/Advanced Higher |
Scottish Advanced Higher acceptable on the same basis as A levels |
Welsh Baccalaureate Advanced | Welsh Bacc: Acceptable at grade A alongside AA at A level including Maths or Computer Science. |
Cambridge Pre-U Diploma | Principal subjects acceptable in lieu of A levels. D3 in Cambridge Pre U Principal Subject is accepted as equivalent to A-Level grade A M2 in Cambridge Pre U Principal Subject is accepted as equivalent to A-Level grade B Global Perspectives and Short Courses are not accepted. |
Access | Considered if taking a relevant subject. 45 Level 3 credits at Distinction, including 15 Level 3 credits in Mathematical or Computer Science subjects is required. GCSE English and Mathematics grade C/grade 4 or above also required. |
International qualifications |
Many countries have a different education system to that of the UK, meaning your qualifications may not meet our entry requirements. Completing your Foundation Certificate, such as that offered by the University of Liverpool International College, means you're guaranteed a place on your chosen course. |
You'll need to demonstrate competence in the use of English language, unless you’re from a majority English speaking country.
We accept a variety of international language tests and country-specific qualifications.
International applicants who do not meet the minimum required standard of English language can complete one of our Pre-Sessional English courses to achieve the required level.
English language qualification | Requirements |
---|---|
IELTS | 6.0 overall, with no component below 5.5 |
TOEFL iBT | 78 overall, with minimum scores of listening 17, writing 17, reading 17 and speaking 19. TOEFL Home Edition not accepted. |
Duolingo English Test | 105 overall, with no component below 95 |
Pearson PTE Academic | 59 overall, with no component below 59 |
LanguageCert Academic | 65 overall, with no skill below 60 |
Cambridge IGCSE First Language English 0500 | Grade C overall, with a minimum of grade 2 in speaking and listening. Speaking and listening must be separately endorsed on the certificate. |
Cambridge IGCSE First Language English 0990 | Grade 4 overall, with Merit in speaking and listening |
Cambridge IGCSE Second Language English 0510/0511 | 0510: Grade C overall, with a minimum of grade 2 in speaking. Speaking must be separately endorsed on the certificate. 0511: Grade C overall. |
Cambridge IGCSE Second Language English 0993/0991 | 0993: Grade 5 overall, with a minimum of grade 2 in speaking. Speaking must be separately endorsed on the certificate. 0991: Grade 5 overall. |
International Baccalaureate English A: Literature or Language & Literature | Grade 4 at Standard Level or grade 4 at Higher Level |
International Baccalaureate English B | Grade 6 at Standard Level or grade 5 at Higher Level |
Cambridge ESOL Level 2/3 Advanced | 169 overall, with no paper below 162 |
Do you need to complete a Pre-Sessional English course to meet the English language requirements for this course?
The length of Pre-Sessional English course you’ll need to take depends on your current level of English language ability.
Find out the length of Pre-Sessional English course you may require for this degree.
Have a question about this course or studying with us? Our dedicated enquiries team can help.
Last updated 25 October 2024 / / Programme terms and conditions