Artificial intelligence (AI) is one of the most exciting and rapidly developing aspects of 21st century technology. It pervades our everyday lives, in image and voice recognition software, data security, intelligent web searching, drones, driverless vehicles, computer games, space exploration and cutting-edge medical advances, and its potential is vast. This is the perfect time to get involved. Our specialist three-year course will give you all the knowledge, skills and practical experience you need to pursue a career at the cutting edge of AI and help to turn technological innovations into meaningful solutions that transform the way we live.
You will learn from leading researchers in the field, covering courses such as machine learning, intelligent agents, bioinformatics, information security and computational finance, and benefit from access to our internationally renowned Computer Learning Research Centre. All this will be underpinned by a solid grounding in the fundamentals of computing and all the essentials of application development, from programming to software engineering, databases to web development, computer graphics to robotics. From the outset you will be experimenting with programming games, robots, Gadgeteer kits, Subversion, JUnit testing, Scrum-based Agile software and more, in our well-equipped laboratories. Alongside core modules in all three years, you will have the flexibility to choose between a range of optional courses, according to your interests.
We are a highly respected, research-focused department with a friendly approach and award-winning teaching. We offer a summer work placement course and a dedicated personal adviser to guide you through your studies. You will also be welcome to join our Computing Society, a thriving community of more than 400 computer enthusiasts from across the College. We are one of only seven departments in the UK to hold the Athena SWAN bronze award for our commitment to increasing female participation in computer science. You will graduate with a wide range of technical skills in computing and AI, as well as valuable transferrable skills such as team working, communication, time management and self-motivation, ready to apply to the world of work.
Our flexible degree programmes enable you to apply to take a Placement Year, which can be spent studying abroad, working or carrying out voluntary work. You can even do all three if you want to (minimum of three months each)! To recognise the importance of this additional skills development and university experience, your Placement Year will be formally recognised on your degree certificate and will contribute to your overall result. Please note conditions may apply if your degree already includes an integrated year out, please contact the Careers & Employability Service for more information. Find out more
- A state-of-the-art Big Data cluster comprising 32 processors, 32 Terabytes of disk storage, GPU and RDMA networking allows you to work on real case studies.
- We develop both fundamental theory and practical algorithms that feed into the analytics methods and techniques that are in use today.
- Our research involves cognitive and autonomous agents, automated planning, scheduling and domain-independent search control, and applications in surveillance operations, disaster response missions, and space operations.
- We collaborate with Microsoft Research, IBM Research, NEC Labs Europe, Facebook, Google, and NASA, which informs our teaching.
Core ModulesYear 1
In this module you will develop an understanding of the building of computer systems whilst also gaining a knowledge of the basic concepts of 2D game design, applying them to the development of simple games. This module brings together the lab components of robotics, games design and object-oriented programming, and will allow you to progress to a group project to apply the concepts you learn together.
- Internet Services
In this module you will develop an understanding of the handling of large and infinite objects within a programming environment. You will learn how to use formal logic to design, reason about and minimise switching circuits, and write basic programs in assembly language. You will consider the binary representations of signed and unsigned integers and how to write regular expressions to describe sets and build deterministic automata to recognise these. You will also examine the use of automata machines in the design and reasoning of sequential flow systems.
In this module you will develop an understanding of the formal reasoning for sets, relations, functions and cardinality. You will look at the structures for program data and representation and learn to write and reason recursive definitions and prove results by induction and contradiction. You will consider the representation and reasoning of problems using graphs and the use of vectors and transformations for defining and manipulating graphical objects. You will also examine the usage of probability and statistics in analysing data.
In this module you will develop an understanding of programming and object-orientation concepts. You will learn about program basics, control flow, data structures, objects, exceptions, and file input and output. You will consider how to solve basic programming tasks and the need for program documentation, testing, readability and modifiability.
In this module you will develop an understanding of software design and engineering processes, including the Waterfall and Agile methodologies. You will learn how to identify common software requirements and see how these have been considered in existing systems. You will look the techniques of software design and how software engineers communicate their design ideas. You will consider the importance of documentation and the usage of current industry-standard notations such as user stories and the unified modeling language (UML). You will also analyse and critique the design of existing software looking at the user experience as a measure of its fitness for purpose.
In this module you will develop an understanding of the design of algorithms, with a focus on time and space complexity. You will examine basic algorithms, looking at the implementation and analysis of linear search, binary search, and basic sorting, including insertion sort, selection sort, merger sort, quick sort, and heap sort. You will consider alternative data structure representations, such as binary search trees, hash tables, and binary heaps, and will gain an insight into the basics of graph algorithms.
In this module you will develop an understanding of the basic concepts of database technology, including the need for database integrity and robustness, and the use of a modern database system in a web-based environment. You will look at database design and the theory of the relational view of data, learn to describe the crucial issues concerning database integrity and recovery from failure, and write search query language (SQL) queries. You will also consider the process of designing and implementing a database, from the user specifications to the final design, and implement an interface to an SQL database using an application programming interface (API).
In this module you will develop an understanding of how information security may be influenced by real-world design and implementation decisions. You will look at the different cryptographic algorithms, considering their use, advantages and disadvantages. You will use these cryptographic primitives to review and evaluate cryptographic protocols, and examine the rational decisions in the design of tokens and secure elements.
In this module you will develop an understanding of the function and architecture of network operating systems. You will look at the role of an operating system, considering processes, memory and file systems. You will learn to write basic shell scripts, see how services are used at the operating system-level, and evaluate the theory and practice of existing operating systems. You will also examine the UNIX shell, including starting programs, input and output streams, pipes, filters, and utilities.
In this module you will develop an understanding of software engineering techniques and the managerial discipline required to work as part of a team. You will look at basic object-oriented concepts and consider the need for effective program documentation, testing, readability, and modifiability. You will consider the tools used to support software development, such as version controllers, debuggers, and code style checkers, and see how these are integrated into an industry-standard development environment (IDE). You will deliver a small-scale project using test-driven development.
In this module you will develop an understanding of the role of the computer professional, gaining practical experience in developing medium scale software as part of a team using Scrum-based Agile development. You will apply managerial discipline and learn about the software lifecycle, team development, standard industrial software engineering, project management, use of version control, and integrated development environments (IDEs). You will see why project cost and effort is hard to estimate, and consider why project quality is hard to prescribe.
- Introduction to Artificial Intelligence
- Mathematical Methods for Computer Science
In this module you will have the opportunity to plan and organise a large project, analysing complex ideas, identifying problems, and coming up with solutions. You will apply scientific principles and use a range of software and hardware techniques. You will analyse the effectiveness of your solutions and evaluate the results. You will also consider legal, social, ethical and professional issues. You can design your own project or choose a topic from a suggested list.
There are a number of optional course modules available during your degree studies. The following is a selection of optional course modules that are likely to be available. Please note that although the College will keep changes to a minimum, new modules may be offered or existing modules may be withdrawn, for example, in response to a change in staff. Applicants will be informed if any significant changes need to be made.Year 1
- All modules are core
- All modules are core
- Computational Finance
- Intelligent Agents and Multi-agent Systems
- Machine Learning
- Semantic Web
- Data Visualisation and Exploratory Analysis
- Advanced Data Communications
- Concurrent and Parallel Programming
- Interconnected Devices
In this module you will develop an understanding of the fundamentals behind cryptography and how it is deployed in real systems. You will look at a range of security services that can be provided by cryptography and the mechanisms behind them, such as symmetric and public-key encryption, hash functions, MACs, digital signatures and authentication protocols. You will consider the architecture of security systems using cryptography, including key management, implementation issues, cryptographic standards and crypto politics, and examine real-world applications such as 3G, EMV, and SSL/TLS.
- Cyber Security
- Digital Forensics
- Malicious Software
- Smart Cards, RFIDs and Embedded Systems Security
- Human-computer Interaction
- IT Project Management
- Software Language Engineering
- Compilers and Code Generation
- Computational Optimisation
- Digital Audio and Applications
- Functional Programming and Applications
Teaching & assessment
We firmly believe that how we teach you is at least as important as what we teach, and we know the importance of giving you the time and space to experiment and put theory into practice. We encourage you to use your creativity, both in project teams and independently, and to have fun while you learn. We use a variety of teaching methods, including lectures, small-group tutorials, supervised computer lab classes and problem-solving sessions. You will also be expected to complete guided independent study and group work. Our programming and software engineering teaching is very hands on, allowing you to learn at your own pace, whatever your previous level of experience. You will also attend laboratory classes on games and robotics in year 1, giving you the chance to develop real applications with imagination and creativity from the outset.
We are proud of our award-winning teaching. Professor Dave Cohen won a College Excellence Teaching Prize for the re-design of our second-year software engineering courses, and he was shortlisted for a Times Higher Education Award for Most Innovative Teacher of the Year. The British Computer Society (BCS) has distinguished our software engineering teaching as an exemplar of 'best practice' in computer science education.
Assessment is through a mixture of examinations and coursework. Most course units have a two or three-hour written examination taken at the end of the year in which they are taught, but around half of your final award will come from assessed coursework, which could include project reports (including your individual project in year 3), essays, oral presentations and software submissions.
A Levels: AAB-ABB
- Computer Science or Mathematics or Physics.
- At least five GCSEs at grade A*-C or 9-4 including English and B/6 Mathematics.
Where an applicant is taking the EPQ alongside A-levels, the EPQ will be taken into consideration and result in lower A-level grades being required. For students who are from backgrounds or personal circumstances that mean they are generally less likely to go to university you may be eligible for an alternative lower offer. Follow the link to learn more about our contextual offers.
English language requirements
All teaching at Royal Holloway is in English. You will therefore need to have good enough written and spoken English to cope with your studies right from the start.
The scores we require
- IELTS: 6.5 overall. No subscore lower than 5.5.
- Pearson Test of English: 61 overall. Writing 54. No subscore lower than 51.
- Trinity College London Integrated Skills in English (ISE): ISE III.
For more information about country-specific entry requirements for your country please visit here.
For international students who do not meet the direct entry requirements, the International Study Centre offers the following pathway programmes:
● International Foundation Year - for progression to the first year of an undergraduate degree.
● International Year One - for progression to the second year of an undergraduate degree. You can join the International Year One in January 2021 and progress to degree study in September 2021.
Your future career
Artificial intelligence specialists are in demand across a wide range of sectors, from private companies to educational institutions, the arts, healthcare, government agencies and the military. Opportunities range from software analysis and computer engineering to algorithm design, engineering and manufacturing consultancy, medical health services, research, teaching, the military, aviation, graphic design, digital music and entertainment and more. The work can be highly lucrative and rewarding.
This course will give you a solid grounding in the knowledge, skills and practical experience required to pursue a successful career in computing and artificial intelligence or related fields. You will learn to analyse and solve problems with creativity and suggest cost-effective, efficient solutions. You will acquire the foresight to translate technological innovations into new programming solutions, the technical skills to design, implement, test and maintain software systems, and the ability to digest and explain complex technical information. You will also develop valuable transferrable skills such as: team working, advanced IT skills, critical thinking, data handling, communication, logic, time management and self-motivation.
We work closely with partners in industry who advise us on our curriculum, to make sure it responds to the latest market needs and trends. This means our graduates are up-to-speed with all the latest developments. We run jobs fairs and a short-term work placement scheme, and your personal adviser and the campus Careers team will be on hand to offer advice on career opportunities. We also maintain strong links with our alumni, who can often provide advice, contacts and networking opportunities. In recent years, our computer science graduates have launched careers in everything from network systems design and web development, to business management and finance. They work in organisations such as: Amazon, American Express, Apple, Bupa, Capita, CGI-Logica, Goldman Sachs, Microsoft, Symantec, among many others. Find out more about what some of our graduates are doing, here.
Fees & funding
Home (UK) students tuition fee per year*: £9,250
EU and International students tuition fee per year**: £22,600
Other essential costs***: Costs incurred during your year in industry will vary depending on the nature and location of the placement. For further information please contact the Department of Computer Science.
How do I pay for it? Find out more about funding options, including loans, scholarships and bursaries. UK students who have already taken out a tuition fee loan for undergraduate study should check their eligibility for additional funding directly with the relevant awards body.
*The tuition fee for UK undergraduates is controlled by Government regulations. For students starting a degree in the academic year 2020/21, the fee will be £9,250 for that year. The fee for UK undergraduates starting in 2021/22 has not yet been confirmed.
**The Government has confirmed that EU nationals starting a degree in 2020/21 will pay the same fee as UK students for the duration of their course. For EU nationals starting a degree in 2021/22, the UK Government has recently confirmed that you will not be eligible to pay the same fees as UK students, nor be eligible for funding from the Student Loans Company. This means you will be classified as an international student. At Royal Holloway, we wish to support those students affected by this change in status through this transition. For eligible EU students starting their course with us in September 2021, we will award an automatic fee reduction which brings your fee into line with the fee paid by UK students. This will apply for the duration of your course.
Fees for international students may increase year-on-year in line with the rate of inflation. The policy at Royal Holloway is that any increases in fees will not exceed 5% for continuing students. For further information see fees and funding and our terms and conditions. Fees shown above are for 2020/21 and are displayed for indicative purposes only.
***These estimated costs relate to studying this particular degree programme at Royal Holloway. Costs, such as accommodation, food, books and other learning materials and printing etc., have not been included.