Study › XJTLU courses › XJTLU 2+2
Computer Science BSc (Hons) – Algorithms and Optimisation pathway: XJTLU 2+2 programme
Course overview
Computer Science is a broad area which includes designing and building hardware and software systems for a wide range of purposes and processing, structuring and managing various kinds of information.
Covering all aspects of computer science, including the underlying principles and theory, this programme will ensure that when you graduate you will know what is and isn’t possible with computers and be able to find solutions to the problems you will encounter in your professional life.
The programme covers a range of compulsory modules including: Database Development, Software Engineering, Complexity of Algorithms, a second year group software project and a final year individual project.
You then choose from a selection of modules representing the cutting-edge of computer science today. These cover topics such as Artificial Intelligence, Data Science, Cyber Security, Robotics, Computer Networks, and High-Performance Computing, amongst others.
You can choose to maintain a mixture of modules throughout your Computer Science degree or follow a specialist pathway in Artificial Intelligence, Algorithms and Optimisation, Data Science, or Cyber Security.
Many problems are highly complex and hard to solve even by a computer, requiring solutions designed to exhibit predictable behaviours in terms of their computational cost and data requirements. More precisely, we are interested designing algorithms with provably good performance, both in the terms of runtime and memory requirements. The Algorithms and Optimisation pathway is, therefore, concerned with theoretical modelling of algorithms and their properties. It looks at how complex tasks can be achieved more efficiently. Topics covered in this specialism may include Algorithms, Theory of Computation, Computational Game Theory, Optimisation, Big Data Analysis, Biocomputation, and Complex Information Networks.
Fees and funding
Tuition fees cover the cost of your teaching and assessment, operating facilities such as libraries, IT equipment, and access to academic and personal support.
Tuition fees
All XJTLU 2+2 students receive a partnership discount of 10% on the standard fees for international students. We also offer 50 XJTLU Excellence Scholarships providing a 25% discount on tuition fees to the students that score most highly in stage 2 at XJTLU across the different subject areas. Allocation is based on the number of applications received per programme.
The net fees (inclusive of the discounts) can be seen below.
XJTLU 2+2 fees | ||
---|---|---|
2025 tuition fee (full) | £29,900 | |
2025 tuition fee for XJTLU 2+2 students (inclusive of 10% discount) | £26,910 | |
2025 tuition fee for XJTLU 2+2 students qualifying for Excellence Scholarship (inclusive of 25% discount) | £22,425 |
Course content and modules
Year two
Choose at least 30 credits from the following module options:
- COMP218: Introduction to Theory of Computation
- COMP220: Software Development Tools
- COMP226: Computer-Based Trading in Financial Markets
- COMP284: Scripting Languages
- COMP285: Computer Aided Software Development.
On the 2+2 programme, you'll study your third and fourth years at the University of Liverpool. These will be year two and year three of the University of Liverpool's programme of study.
Programme details and modules listed are illustrative only and subject to change.
Compulsory
Software Engineering I (COMP201)
Credits: 15 / Semester: semester 1
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).
Database Development (COMP207)
Credits: 15 / Semester: semester 1
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.
Complexity of Algorithms (COMP202)
Credits: 15 / Semester: semester 2
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.
Group Software Project (COMP208)
Credits: 15 / Semester: semester 2
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.
Optional
Introduction to Theory of Computation (COMP218)
Credits: 15 / Semester: semester 1
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.
Software Development Tools (COMP220)
Credits: 15 / Semester: semester 2
This module covers the skills and knowledge required for the effective use of tools in the software development lifecycle.
Computer-Based Trading in Financial Markets (COMP226)
Credits: 15 / Semester: semester 2
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.
Scripting Languages (COMP284)
Credits: 7.5 / Semester: semester 2
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.
Computer Aided Software Development (COMP285)
Credits: 7.5 / Semester: semester 2
This module covers the theory and practice of the application of tools to the software development lifecyle
Programming Language Paradigms (COMP105)
Credits: 15 / Semester: semester 1
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.
Computer Networks (COMP211)
Credits: 15 / Semester: semester 1
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.
Advanced Artificial Intelligence (COMP219)
Credits: 15 / Semester: semester 1
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.
Planning Your Career (COMP221)
Credits: 7.5 / Semester: semester 1
This module aims to provide a more in depth experience of crucial employability skills needed to secure either a placement or a graduate job.
App Development (COMP228)
Credits: 15 / Semester: semester 1
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.
Introduction to Data Science (COMP229)
Credits: 15 / Semester: semester 1
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.
Distributed Systems (COMP212)
Credits: 15 / Semester: semester 2
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.
Principles of Computer Games Design and Implementation (COMP222)
Credits: 15 / Semester: semester 2
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.
Cyber Security (COMP232)
Credits: 15 / Semester: semester 2
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.
Becoming Entrepreneurial (ULMS254)
Credits: 15 / Semester: semester 2
This is a cross-disciplinary module focusing on the challenges of identifying, exploring, and implementing entrepreneurial opportunities that create and capture value. The module’s broad spectrum provides students with a foundation in entrepreneurial thinking, allowing them to develop the skills and attributes needed whether to build their own start up from the ground up or add value within existing companies through entrepreneurial and innovation applications. Students will develop an entrepreneurial mindset through experiential learning and embeddedness in the entrepreneurship ecosystem through start-ups and industries engagement as well as the Brett Centre for Entrepreneurship Venture Creation Programme, in which every part of the business journey is covered from ideation to pitching to a panel of industry experts.
Principles of C and Memory Management (COMP281)
Credits: 7.5 / Semester: semester 2
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.
The C++ Programming Language (COMP282)
Credits: 7.5 / Semester: semester 2
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.
Year three
Choose at least 60 credits from the following module options:
- COMP305: Biocomputation
- COMP309: Efficient Sequential Algorithms
- COMP323: Introduction to Computational Game Theory
- COMP331: Optimisation
- COMP336: Big Data Analysis
- COMP324: Complex Information Networks
- COMP326: Computational Game Theory and Mechanism Design.
On the 2+2 programme, you'll study your third and fourth years at the University of Liverpool. These will be year two and year three of the University of Liverpool's programme of study.
Programme details and modules listed are illustrative only and subject to change.
Compulsory
Honours Year Computer Science Project (COMP390)
Credits: 30 / Semester: whole session
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.
Optional
Biocomputation (COMP305)
Credits: 15 / Semester: semester 1
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.
Efficient Sequential Algorithms (COMP309)
Credits: 15 / Semester: semester 1
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.
Introduction to Computational Game Theory (COMP323)
Credits: 15 / Semester: semester 1
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.
Optimisation (COMP331)
Credits: 15 / Semester: semester 1
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.
Big Data Analytics (COMP336)
Credits: 15 / Semester: semester 1
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.
Complex Information Networks (COMP324)
Credits: 15 / Semester: semester 2
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.
Computational Game Theory and Mechanism Design (COMP326)
Credits: 15 / Semester: semester 2
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.
Knowledge Representation and Reasoning (COMP304)
Credits: 15 / Semester: semester 1
This module presents formal ways to reason about knowledge and uncertain or partial information.
Software Engineering II (COMP319)
Credits: 15 / Semester: semester 1
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.
Autonomous Mobile Robotics (COMP329)
Credits: 15 / Semester: semester 1
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.
Communicating Computer Science (COMP335)
Credits: 15 / Semester: whole session
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.
Computer Vision (COMP338)
Credits: 15 / Semester: semester 1
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.
Image Processing (ELEC319)
Credits: 7.5 / Semester: semester 1
This module covers the fundamentals of how images are generated, represented, compressed and processed to extract features of interest.
Multi-Agent Systems (COMP310)
Credits: 15 / Semester: semester 2
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.
Formal Methods (COMP313)
Credits: 15 / Semester: semester 2
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.
Cloud Computing for E-Commerce (COMP315)
Credits: 15 / Semester: semester 2
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.
Ontologies and Semantic Web (COMP318)
Credits: 15 / Semester: semester 2
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.
High Performance Computing (COMP328)
Credits: 15 / Semester: semester 2
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.
Data Mining and Visualisation (COMP337)
Credits: 15 / Semester: semester 2
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.
Robot Perception and Manipulation (COMP341)
Credits: 15 / Semester: semester 2
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.
Advanced Topics in Computer Game Development (COMP342)
Credits: 15 / Semester: semester 2
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.
Computer Forensics (COMP343)
Credits: 15 / Semester: semester 2
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.
Neural Networks (ELEC320)
Credits: 7.5 / Semester: semester 2
Introduction to neural network theory, applications and artificial intelligence.
Your experience
Video
2+2 Computer Sciences BSc: He Yixuan’s story
Supporting your learning
From arrival to alumni, we’re with you all the way:
- Careers and employability support, including help with career planning, understanding the job market and strengthening your networking skills
- A dedicated student services team can help you get assistance with your studies, help with health and wellbeing, and access to financial advice
- Confidential counselling and support to help students with personal problems affecting their studies and general wellbeing
- Support for students with differing needs from the Disability advice and guidance team. They can identify and recommend appropriate support provisions for you.
An exciting place to study Computer Science
- You will be taught by some of the best researchers in the field. In the most recent Research Excellence Framework, the research output of our department was ranked 5th in the UK. This research expertise shows through in our teaching
- We teach in state-of-the-art PC and Mac laboratories running a variety of different operating systems, as well as iOS and Android tablets to encourage creativity and innovation within a stimulating environment in which to work and study
- Our programmes are continually updated to reflect new technologies and trends.
What students say...
There are many excellent professors who can mentor you. In addition, there will be a team work in the second semester of the second year of computer science in Liverpool, In which we can design an app freely,which can better cultivate my teamwork spirit.
Watch our Vlog
A day in the life of Computer Science student Shania