Skip to main content

Computer Science (Software Engineering) with a Year in Industry MSci

Thank you for considering an application

Here's what you need in order to apply:

  1. Royal Holloway's institution code: R72
  2. Make a note of the UCAS code for the course you want to apply for:

    • Computer Science (Software Engineering) with a Year in Industry MSci MSci - G463
    • Computer Science (Software Engineering) MSci - G464
    • Computer Science (Software Engineering) MSci MSci - G461
    • Computer Science (Software Engineering) with a Year in Industry MSci - G462
  3. Click on the link below to apply via the UCAS website:
Apply via UCAS

Computer Science (Software Engineering) with a Year in Industry MSci

MSci

Course options

Key information

Duration: 5 years full time

UCAS code: G463

Institution code: R72

Campus: Egham

Key information

Duration: 3 years full time

UCAS code: G464

Institution code: R72

Campus: Egham

View this course

Key information

Duration: 4 years full time

UCAS code: G461

Institution code: R72

Campus: Egham

View this course

Key information

Duration: 4 years full time

UCAS code: G462

Institution code: R72

Campus: Egham

View this course

The course

Computer Science (Software Engineering) with a Year in Industry MSci (MSci)

Looking for an integrated masters course that will set you apart from other computer science undergraduates and set you on course for a high-level career? This five-year MSci course offers a thorough grounding in computer science and allows you to learn about all the latest trends and techniques in software engineering as well as gaining hands-on skills and experience during a year in industry. You will have the chance to showcase your abilities in an extended final year project and it is particularly recommended if you have already experienced and enjoyed programming and you want to go on to postgraduate study or a specialist career in software.

Our software engineering teaching has been hailed as a ‘best practice’ example of computer science education by BCS, The Chartered Institute for IT. You will learn from software professionals and leading academics in the field to apply engineering principles to the design, development, implementation and maintenance of all kinds of software. Our progressive curriculum has been developed in consultation with industry, with a modular structure that gives you the flexibility to tailor your degree to your interests. From the outset you be experimenting with programming games, robots, Gadgeteer kits, Subversion, JUnit testing, Scrum-based Agile software and more, in our well-equipped laboratories.

We are a highly respected, research-focused department with 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 thriving Computing Society. We are proud to be among the few departments in the UK to hold the Athena SWAN bronze award for our commitment to increasing female participation in computer science. Our campus is located in the famous M4 corridor and enjoy close links with many of its leading technology companies. If you are unable to complete your year in industry you will have the option of transferring onto our four-year integrated masters course.

  • The BCS has distinguished our teaching of Software Engineering as 'Best Practice'.
  • You will be taught by staff with extensive industrial experience, three of whom are certified Scrum Masters.
  • You will learn to master the process of software engineering, from initial client meetings through to delivery.

From time to time, we make changes to our courses to improve the student and learning experience. If we make a significant change to your chosen course, we’ll let you know as soon as possible.

Core Modules

Year 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. 

  • In this module you will develop an understanding of how the internet works and its key protocols. You will look at the technologies used for web development, including scripting languages and their potential for adding dynamic content to web sites and applications. You will consider the role of web services and related technologies, and will examine the fundamental principles of network security.

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

  • This module will describe the key principles of academic integrity, focusing on university assignments. Plagiarism, collusion and commissioning will be described as activities that undermine academic integrity, and the possible consequences of engaging in such activities will be described. Activities, with feedback, will provide you with opportunities to reflect and develop your understanding of academic integrity principles.

     

  • This module teaches programming and object-orientation concepts. Students will learn about program basics (variables, types, scope, lifetimes), control flow (if-constructs, for-loops, while-loops), data structures (strings, sets, lists, trees), objects (classes and inheritance), exceptions (throwing and catching) and file I/O (streams, file reading and writing).

  • This module teaches programming and object-orientation concepts, (building on what is taught in Object Oriented Programming I). Students will reinforce their knowledge about program basics (eg variables, types, scope, lifetimes), algorithms (e.g. recursion, searching, sorting), data structures (eg sets, lists, trees), objects (eg classes, dynamic dispatch, interface, inheritance, generics), exceptions and I/O (eg streams, file reading, writing and copying). Furthermore, the course also teaches fundamentals of coding best practices.

Year 2
  • 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 computer and network security. You will look at software vulnerabilities, hands-on hacking-oriented attacks, memory errors, and web and network security. You will learn how to identify such vulnerabilities and consider the countermeasures that can mitigate their exploitation. You will also examine malicious software (malware) as a typical consequence of a successful software exploitation.

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

  • This module aims to assist students in appreciating the role of the computer professional through the practical experience of developing medium scale software as part of a team. You’ll study: The software lifecycle, including: software development, planning and documentation. Team development, communication, managing risks and conflicts. Practical experience of standard industrial software engineering. Agile project management, use of version control in a team, IDEs, etc. A medium scale agile software development project, conducted by teams of students. Meetings with an external customer to determine the requirements for a product.

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

Year 3
  • This module provides the opportunity to demonstrate independence and originality, to plan and organise a large project over a long period, and to put into practice the techniques taught throughout the degree course.

  • This module introduces user-centred design aspects and challenges in interactive traditional, augmented and virtual reality contexts, and addresses the approaches that can be used to create displays and interfaces to enhance user experience.

Year 4
  • You will spend this year on a work placement. You will be supported by the Department of Computer Science and the Royal Holloway Careers and Employability Service to find a suitable placement. This year forms an integral part of the degree programme and you will be asked to complete assessed work. The mark for this work will count towards your final degree classification.

Year 5
  • The main aim of the Team Project is to give extensive experience to students in working in projects for real clients, as part of a team and operating as a company. Teams of students will: work in the context of a company where they have specific responsibilities; engage with real clients and determine their requirements for a significant piece of software; devise, estimate, design, implement, test, document and critically evaluate software; present their work and communicate their findings to the client.

Optional Modules

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
Year 2
  • Introduction to Artificial Intelligence
  • Mathematical Methods for Computer Science
  • In this module you will develop an understanding of the principles of human-computer interaction (HCI) and the approaches that can be used to create interfaces matching users' needs and expectations. You will evaluate the usability and suitability of user interfaces, and build simple prototypes using different media and technologies. You will consider how perception and cognition influence HCI, and examine tests, such as web experiments.

Year 4
  • 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.

  • The module covers key areas of cyber security with the critical national (information) infrastructure forming its background. Fault and attack models for information systems and cyber-physical systems are covered in the form of multiple techniques including variants of attack trees allowing probabilistic attack and defence refinements. The module covers models of large-scale networks and their robustness properties to both random failures and particularly to deliberate attacks and discusses how key elements of the CNI such as the Internet but also other infrastructure sectors such as power and transport sectors can be captured by such models. The security of cyber-physical systems and particularly industrial control systems is another major component of the module, including case studies of attacks by state actors and analyses of control system protocols as well as properties peculiar to CPS.

  • Digital Forensics
  • Smart Cards, RFIDs and Embedded Systems Security
  • IT Project Management
  • Software Language Engineering
  • Bioinformatics
  • Compilers and Code Generation
  • Computational Optimisation
  • Digital Audio and Applications
  • Functional Programming and Applications
Year 5
  • Methods of Computational Finance
  • Data Analysis
  • Deep Learning
  • Intelligent Agents and Multi-agent Systems
  • Machine Learning
  • Online Machine Learning
  • Semantic Web
  • Data Visualisation and Exploratory Analysis
  • Advanced Data Communications
  • Advanced Distributed Systems
  • Large Scale Data Storage and Processing
  • Wireless Sensor and Actuator Networks
  • The module covers key areas of cyber security with the critical national (information) infrastructure forming its background. Fault and attack models for information systems and cyber-physical systems are covered in the form of multiple techniques including variants of attack trees allowing probabilistic attack and defence refinements. The module covers models of large-scale networks and their robustness properties to both random failures and particularly to deliberate attacks and discusses how key elements of the CNI such as the Internet but also other infrastructure sectors such as power and transport sectors can be captured by such models. The security of cyber-physical systems and particularly industrial control systems is another major component of the module, including case studies of attacks by state actors and analyses of control system protocols as well as properties peculiar to CPS.

  • Digital Forensics
  • Secure Business Architectures
  • Security Management
  • Security Testing Theory and Practice
  • Smart Cards, RFIDs and Embedded Systems Security
  • Running a small business
  • Standards, IP and Technology seminar series
  • Technology Entrepreneurship
  • Computational Optimisation
  • Digital Audio and Applications
  • This module focuses on acquiring a deep understanding of foundational AI principles and techniques to model complex real-world problems as well as writing algorithms and problems to solve them. The module will start with an introduction to AI that will define core AI concepts, provide the philosophical foundations of AI and discuss ethical issues in this field. The module will continue by covering intelligent agents and classical search to then move to local search and optimisation algorithms. The module will end with adversarial search and constraint satisfaction problems. All these topics will be covered both from a theoretical point of view, during the lectures, and from a practical point of view during the labs.

We are an award-winning department for software engineering 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. We firmly believe that how we teach you is at least as important as what we teach. 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 software engineering and programming teaching is very hands on, allowing you to learn at your own pace, whatever your previous level of experience. During your year in industry, our careers tutor will visit you twice and keep in touch with your host to monitor your progression.

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, essays, oral presentations and software submissions. Your year in industry forms an integral part of the degree course and you will be asked to complete assessed work that will count towards your final degree.

A Levels: AAA-AAB

Required subjects:

  • Computer Science or Mathematics or Physics.
  • At least five GCSEs at grade A*-C or 9-4 including English and B/6 Mathematics.

For students taking the BTEC Extended Diploma please click here to see the specific modules you must take in order to meet the entry requirements for this course.

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.

T-levels

We accept T-levels for admission to our undergraduate courses, with the following grades regarded as equivalent to our standard A-level requirements:

  • AAA* – Distinction (A* on the core and distinction in the occupational specialism)
  • AAA – Distinction
  • BBB – Merit
  • CCC – Pass (C or above on the core)
  • DDD – Pass (D or E on the core)

Where a course specifies subject-specific requirements at A-level, T-level applicants are likely to be asked to offer this A-level alongside their T-level studies.

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.

Country-specific requirements

For more information about country-specific entry requirements for your country please visit here.

Undergraduate preparation programmes

For international students who do not meet the direct entry requirements, for this undergraduate degree, the Royal Holloway International Study Centre offers following pathway programmes designed to develop your academic and English language skills:

Upon successful completion, you can progress to this degree at Royal Holloway, University of London.

Our integrated masters graduates are highly employable, with a depth of knowledge and practical skills that set them apart from BSc students. Year in industry degrees are also highly valued by employers because they give you the chance to gain first-hand experience of the world of work and to apply your learning to real world scenarios. Our students have enjoyed placements in software companies such as Apple, Microsoft or Symantec, as well as in a range of other sectors, including finance and consulting. Many have been offered permanent jobs in the same company at the end of their placements, to take up after their graduation.

After five years of studying you will have an enviable set of skills and an in-depth knowledge of your chosen field. You will be confident at developing large and complex systems, working with all kinds of software, solving technical problems, managing projects, writing reports, and analysing complex information. Your coursework will have honed your team working, critical thinking, data handling, coding, communication, time management and self-motivation skills. You will have the flexibility to adapt to changes in technology, to innovate, and to critically evaluate the implications of exploiting new technologies. And you will have the skills to manage projects from conception through to delivery, with technical precision and professionalism.

We work closely with partners in industry who advise us on our curriculum, to ensure that it keeps pace with the latest market needs and trends. This means our graduates are up-to-speed with all the latest developments and technologies in software engineering. 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: LogicaAmazon, American Express, Apple, Bupa, Capita, CGI-Logica, Goldman Sachs, Microsoft, Symantec, among many others. 

Home (UK) students tuition fee per year*: £9,250

The fee for the year in industry will be 20% of the tuition fee for that academic year.

EU and international students tuition fee per year**: £28,900

The fee for your year in industry will be 20% of the tuition fee for that academic year.

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. The fee for the academic year 2024/25 is £9,250 and is provided here as a guide. The fee for UK undergraduates starting in 2025/26 has not yet been set, but will be advertised here once confirmed. 

**This figure is the fee for EU and international students starting a degree in the academic year 2025/26.  

Royal Holloway reserves the right to increase tuition fees annually for overseas fee-paying students. The increase for continuing students who start their degree in 2025/26 will be 5%.  For further information see fees and funding and the terms and conditions.

*** These estimated costs relate to studying this particular degree at Royal Holloway during the 2025/26 academic year and are included as a guide. Costs, such as accommodation, food, books and other learning materials and printing, have not been included. 

Accreditations

BCS - British Computer Society - The Chartered Institute for IT
EQANIE - European Quality Assurance Network for Informatics Education

Top 25

in UK Computer Science departments

Source: The Complete University Guide, 2024

95%

of our research is rated world-leading and internationally excellent

Source: REF 2021

93%

for graduate career after 15 months

Source: The Times Good University Guide, 2024

Explore Royal Holloway

Get help paying for your studies at Royal Holloway through a range of scholarships and bursaries.

There are lots of exciting ways to get involved at Royal Holloway. Discover new interests and enjoy existing ones.

Heading to university is exciting. Finding the right place to live will get you off to a good start.

Whether you need support with your health or practical advice on budgeting or finding part-time work, we can help.

Discover more about our academic departments and schools.

Find out why Royal Holloway is in the top 25% of UK universities for research rated ‘world-leading’ or ‘internationally excellent’.

Royal Holloway is a research intensive university and our academics collaborate across disciplines to achieve excellence.

Discover world-class research at Royal Holloway.

Discover more about who we are today, and our vision for the future.

Royal Holloway began as two pioneering colleges for the education of women in the 19th century, and their spirit lives on today.

We’ve played a role in thousands of careers, some of them particularly remarkable.

Find about our decision-making processes and the people who lead and manage Royal Holloway today.