We use cookies on this site. By browsing our site you agree to our use of cookies. Close this message Find out more

Home > Courses > Undergraduate > Computer Science (Software Engineering) with a year in industry
More in this section Computer Science

Computer Science (Software Engineering) with a year in industry MSci

UCAS code G463
Year of entry 2017
View 2018 entry »
Course Length
5 years full time
Department Computer Science »

 

Looking for an integrated masters programme that will set you apart from other computer science undergraduates and set you on course for a high-level career? Launched in 2015/16, this five-year MSci programme 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 programme and a dedicated personal adviser to guide you through your studies. You will also be welcome to join our thriving Computing Society. 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. 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 programme.

  • Boost your employability by incorporating postgraduate level courses and an extended final year software engineering project with a highly sought-after year in industry.
  • Enjoy a varied and flexible curriculum, informed by cutting-edge research and current industrial needs and trends.
  • Join an elite department, ranked 11th in the UK for the quality of its research output (Research Exercise Framework 2014).
  • 97% of our students said our programmes are well organised, and 92% said they are intellectually stimulating (National Student Survey 2015).
  • This programme is accredited by BCS, The Chartered Institute for IT, and the European Quality Assurance Network for Informatics Education (EQANIE). 

Core modules

Year 1

Computing Lab (Games)

In this module you will develop an understanding of the basic concepts of 2D game design and apply them to the development of simple games using an objected-oriented approach. You will look at the nature of graphics, animation, and motion, considering the usage of vectors in these techniques. You will also examine the fundamentals of game physics, such as collisions, gravity and ballistics.

Computing Lab (Robotics)

In this module you will develop an understanding of the building of computer systems. You will learn about the elementary concepts of robotics, gaining practical experience in programming mobile robots to execute pre-defined movements using Java and Lego NXT. You will also consider the basics of sensors, proportional-integral-derivative (PID) feedback systems, and the principles of localisation.

Internet Services

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.

Machine Fundamentals

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.

Mathematical Structures

In this module you will develop an understanding of the formal resoning 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.

Software Design

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 sotware looking at the user experience as a measure of its fitness for purpose.

Software Development

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 (I/O). You will consider software development best practices, how to perform small scale software development from a specification, the testing process, and software evaluation. You will develop a simple application based on a design specification and create a test plan to identify faults and errors.

Year 2

Algorithms and Complexity

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

Computer and Network Security

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.

Databases

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

Introduction to Information Security

In this module you will develop an understanding of how information security may be influenced by real world design and implementation decisions. You will 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.

Operating Systems

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 steams, pipes, filters, and utilities.

Small Enterprise Team Project

In this module you will develop an understanding of the role of the computer professional through practical experience. You will work as part of a team, developing medium-scale software for an external customer. You will apply managerial discipline and learn about the software lifecycle, team development, standard industrial software engineering, agile project management, use of version control, and integrated development enironments (IDEs). You will see why project cost and effort is hard to estimate, and consider why project quality is hard to prescribe.

Software Engineering

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

Individual Project

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.

Human-Computer Interaction

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.

Malicious Software

In this module you will develop an understanding of mailicious software and the malware landscape. You will look at the key challenges the antivirus industry has faced in fighting malware threats, considering the traditional methods used by cybercriminals to infect user and enterprise hosts to gain access to their private, financial, and intellectual property data. You will learn how traditional and mobile malware work, how they are analysed and detected, and examine the underground ecosystem that drives this profitable but illegal business. You will also assess the research trends that are likely to influence the future of software security.

IT Project Management

 

Software Language Engineering

 

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

Team Project

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 enironments (IDEs). You will see why project cost and effort is hard to estimate, and consider why project quality is hard to prescribe.

Running a Small Business

 

Standards, IP and Technology Seminar Series

 

Technology Entrepreneurship

 

Optional modules

In addition to these mandatory course units there are a number of optional course units available during your degree studies. The following is a selection of optional course units that are likely to be available. Please note that although the College will keep changes to a minimum, new units may be offered or existing units 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

Only core modules are taken 

Year 2

Introduction to Artificial Intelligence

 

Mathematical Methods for Computer Science 

 

Year 3

Computational Finance

In this module you will develop an understanding of the mathematical and computational models of derivative securities. You will look at how these financial instruments facilitate the management of financial risk, and examine tecniques for pricing derivatives and dynamic hedging. You will use these models to solve numerical and theoretical problems, creating computer programs in MatLab that implement valuation algorithms for different derivatives.

Intelligent Agents and Multi-Agent Systems

 

Machine Learning

 

Semantic Web

 

Visualisation and Exploratory Analysis

 

Advanced Data Communications

 

Concurrent and Parallel Programming

 

Interconnected Devices

 

Applications of Cryptography

In this module you will develop an undestanding of cryptography and how it is deployed in real systems. You will look at security services, security models, and basic attacks on cryptosystems, considering the full range of security services that can be provided by cryptography. You will compare different cryptographic mechanisms and the nature of the architecture within which cryptography is deployed. You will also examine the cryptographic standards that should be followed when implementing cryptography and the rationale for the design decisions taken in several widely deployed cryptographic systems. 

Cyber Security

In this module you will develop an understanding of network robustness and failures, together with critical information infrastructures, vulnerabilities, and their dependencies. You will look at the security problems of cyber-physical systems, including supervisory control and data acquisition (SCADA) control system architecture. You will also consider complex attacks, analytical models for these, and assurance mechanisms.  

Digital Forensics

 

Smart Cards, RFIDs and Embedded Systems Security

 

Advanced Algorithms

 

Bioinformatics

 

Compilers and Code Generation

In this module you will develop an understanding of the role and structure of a compiler and the standard stages of compilation. You will learn to build a deterministic finite automaton (DFA)-based lexical analyser for a set of specified tokens using regular expressions, and construct regular expressions which define a specified set of strings. You will also consider the use of grammars to define context-free languages, the use of directed translators in constructing intermediate code, types of error detection and recovery, and generating address code from source code.

Computational Optimisation

In this module you will develop an understanding of the basic models of computational optimisation and the algorithms for solving optimisation problems. You will look at the theoretical and computational methods for analysing optimisation algorithms, and the software used for problem solving. You will also consider how to formulate problems using linear and integer programming techniques, and examine the usage of construction heuristics.  

Digital Audio and Applications

 

Functional Programming and Applications

 

Year 5

Computational Finance

In this module you will develop an understanding of the mathematical and computational models of derivative securities. You will look at how these financial instruments facilitate the management of financial risk, and examine tecniques for pricing derivatives and dynamic hedging. You will use these models to solve numerical and theoretical problems, creating computer programs in MatLab that implement valuation algorithms for different derivatives.

Data Analysis

 

Deep Learning

 

Intelligent Agents and Multi-Agent Systems

 

Machine Learning

 

On-Line Machine Learning

 

Semantic Web

 

Visualisation and Exploratory Analysis

 

Advanced Data Communications

In this module you will develop an understanding of the role of information technology in organisations and society. You will look at the central functions of management information systems in modern business, examining the opportunities and challenges that they present. You will learn to formulate strategies to take advantage of information technologies and consider their implications in the workplace. You will also examine the potential ethical and social impact of emerging technologies and reflect on the design, adoption and diffusion of future technologies.

Advanced Distributed Systems

In this module you will develop an understanding of the concepts, theories and principles of distributed systems. You will look at the reference architecture for the Internet of Things, including cloud infrastructure and wireless networking. You will consider the major challenges of these environments, such as massive scales, wide distribution, decentralisation, unreliable communication links, component failures and network partitions. You will examine algorithmic techniques for solving problems in a distributed environment and gain pratical experience in implementing various components of a distributed system.

Large-Scale Data Storage and Processing

 

Wireless Sensor and Actuator Networks

 

Cyber Security

In this module you will develop an understanding of network robustness and failures, together with critical information infrastructures, vulnerabilities, and their dependencies. You will look at the security problems of cyber-physical systems, including supervisory control and data acquisition (SCADA) control system architecture. You will also consider complex attacks, analytical models for these, and assurance mechanisms. 

Digital Forensics

 

Secure Business Architectures

 

Security Management

 

Security Testing Theory and Practice

 

Smart Cards, RFIDs and Embedded Systems Security

 

Computational Optimisation

In this module you will develop an understanding of the basic models of computational optimisation and the algorithms for solving optimisation problems. You will look at the theoretical and computational methods for analysing optimisation algorithms, and the software used for problem solving. You will also consider how to formulate problems using linear and integer programming techniques, and examine the usage of construction heuristics. 

Digital Audio and Applications

 

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 programme and you will be asked to complete assessed work that will count towards your final degree.

Typical offers

Typical offers
A-levels AAB-ABB 
Required/preferred subjects

Required subject: either Physics, Chemistry, Computer Science or Mathematics
                                                                                                     The offer given will take into consideration:
• Subjects taken at A-level
• The educational context in which academic achievements have been gained
• Whether the Extended Project Qualification is being taken.

At least five GCSE passes at grade A*-C including English and Mathematics. For applicants studying a BTEC Extended Diploma, a grade B in Mathematics is required. 

Other UK Qualifications
International Baccalaureate 6,5,5 at Higher Level including Maths, Computer Science or Physics, with a minimum of 32 points overall 
BTEC Extended Diploma Distinction, Distinction, Distinction in a relevant subject (with significant programming content) and at least B in GCSE Maths 
BTEC National Extended Diploma Distinction, Distinction plus an A2 grade B in Maths or Physics or Computing 
BTEC National Extended Certificate Distinction plus A2 grades B, B including Maths or Physics or Computing 
Welsh Baccalaureate Requirements are as for A-levels where one non-subject-specified A-level can be replaced by the same grade in the Welsh Baccalaureate Advanced Level Core. 
Scottish Advanced Highers AB including Maths or Physics or Computing (only acceptable when combined with the required Scottish Higher grades as published) 
Scottish Highers AABBB (only acceptable when combined with the required Scottish Advanced Higher grades as published) 
Irish Leaving Certificate H2,H2,H3,H3,H3 including H3 in Maths or H3 in Physics 
Access to Higher Education Diploma Pass with at least 30 level 3 credits at Distinction and 15 level 3 credits at Merit 

Other UK qualifications

Please select your UK qualification from the drop-down list below



Please select a qualification

Please select a qualification



International and EU entry requirements

Please select your country from the drop-down list below

English language
requirements
IELTS 6.5 overall and a minimum of 5.5 in each subscore. For equivalencies, see here.

For more information about entry requirements for your country please visit our International pages. For international students who do not meet the direct entry requirements, we offer an International Foundation Year, run by Study Group at the Royal Holloway International Study Centre. Upon successful completion, students can progress on to selected undergraduate degree programmes 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. Find out more about what some of our graduates are doing, here.

  • Get ahead of the game by completing an advanced five-year degree with a specialism in software engineering and a highly sought-after year in industry.
  • 85% of our computer science graduates are in work or further study within six months of leaving (Unistats 2015).
  • Our strong ties with industry mean we understand the latest market trends and can introduce you to all the newest developments.
  • Add professional prestige to your qualification with membership of the BCS, The Chartered Institute for IT and the European Quality Assurance Network for Informatics Education (EQANIE), after you graduate. 

Home and EU students tuition fee per year 2017/18*: £9,250

International students tuition fee per year 2017/18**: £15,600

How do I pay for it? Find out more.

*Tuition fees for UK and EU nationals starting a degree in the academic year 2017/18 will be £9,250 for that year. This amount is subject to the UK Parliament approving a change to fee and loan regulations that has been proposed by the UK Government. In the future, should the proposed changes to fee and loan regulations allow it, Royal Holloway reserves the right to increase tuition fees for UK and EU nationals annually. If relevant UK legislation continues to permit it, Royal Holloway will maintain parity between the tuition fees charged to UK and EU students for the duration of their degree studies.

**Royal Holloway reserves the right to increase tuition fees for international fee paying students annually. Tuition fees are unlikely to rise more than 5 per cent each year. For further information on tuition fees please see Royal Holloway’s Terms & Conditions.

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

Back to course search results

 
 
 

Comment on this page

Did you find the information you were looking for? Is there a broken link or content that needs updating? Let us know so we can improve the page.

Note: If you need further information or have a question that cannot be satisfied by this page, please call our switchboard on +44 (0)1784 434455.

This window will close when you submit your comment.

Add Your Feedback
Close