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

More in this section Single honours

BSc/MSci in Software Engineering

This specialist degree meets the need for graduates with the key skills that employers look for in Software Engineering: a strong grounding in basic computer-science theory, problem modelling and analysis techniques, knowledge of and practical experience in modern software-development methodologies and techniques, extensive team work, excellent coding skills, good communication skills, and a strong professional ethos.

Throughout the degree, you will interact closely with software professionals and with companies or organisations.  In the final year of the  MSci, you will manage a company, delivering services to real clients.

Where are the jobs?

Software engineering is an extremely important profession because of the impact that large software systems have in the economy and society, in particular in safety-critical applications. 

According to the latest report produced by e-skills uk, the primary roles sought by employers have  remained fairly consistent in recent years with Design and Development jobs typically accounting for  around 60% of all permanent positions and 70% of  contract posts.  The number of software professionals went up by 18% between 2001 and 2011, and is forecast to grow at 1.62% per annum through to 2020, nearly twice as fast as the UK average.

Is this degree for you?

If you have experienced and enjoyed programming, and envisage a career in software as a developer, an engineer or an entrepreneur, then this degree is definitely for you.  

We will let students on the other single-honours degrees in Computer Science to transfer to Software Engineering at the end of Term One if they have shown excellent programming skills.

Main learning outcomes

Students on this course will learn to work as a team, with outside sponsors, delivering business value.  More specifically, we will educate you to:

  • Become a software engineer ready for work in industry, with excellent coding skills and a professional attitude to work.
  • Understand the prime concern of software engineering: that software must deliver business value. 
  • Be able to manage a project to a customer's satisfaction.
  • Master the process of software engineering, from initial client meeting through to costing and time estimation, and to delivery.
  • Communicate effectively to non-technical personnel and clients.

You can opt for a Year in Industry degree, in which case you will be placed at a company at the end of your second year if you are on the BSc or at the end of the third year if you are on the MSci.


The BSc and MSci degrees are accredited by the British Computer Society (BCS) and by the European Quality Assurance Network for Informatics Education (EQANIE). 

Year One (BSc and MSci)

You start learning software engineering from Day One: solving a problem from design to implementation as a first-year team project. At this level, you will go through a Waterfall Process: requirements analysis, design, implementation, and system testing.  In order to experience how software is developed in practice, after each stage each team will work on the artifacts produced by a different team. You will learn to use standard Java Tools such as Eclipse, Checkstyle, Junit, and TDD.

Weekly tutorials are run to support Software Development, Mathematical Structures and Machne Fundamentals, and to introduce you to Professional Issues.


  • Software development (30 credits)
  • Computing Lab (Robotics)
  • Computing Lab (Games)
  • Software Design
  • Internet Services
  • Mathematical Structures
  • Machine Fundamentals

Year Two (BSc and MSci)

At this level, the emphasis is on Scrum-based Agile Development, supported by modern industrial-strength tools. You will again work in teams but on a project to solve a small problem from an outside sponsor, from design to delivery. In Term One, each team will have client meetings and produce use cases, class diagrams and user stories. In Term Two, each team will work with regular scrum sessions to deliver the software to the client. Several teams will work on the same project but just one will be paid at the end of the year.


  • Software Engineering
  • Small Enterprise Team project
  • Databases
  • Algorithms and Complexity
  • Operating Systems
  • Introduction to Information Security 
  • Computer and Network Security 
  • One elective (see list)

Year Three (BSc and MSci)

In your third year, you do an individual project worth 30 credits (a quarter of the total), which involves making presentations and demos of your project, and produce intermediate reports.

You will take courses in Human-Computer Interaction and Malicious Software.  You will also choose four additional courses

 You can also choose from a wide range of options in advanced technologies as well as cutting-edge topics.

  • Individual Project (30 credits)
  • Human-Computer Interaction
  • Malicious Software
  • Two core modules chosen from the Software Engineering strand (see list)
  • Two electives chosen from any strand (see list)

Year Four (MSci)

In the final year of the MSci, students run a company (team project), bidding for and solving industrial problems of real clients, and taking on responsibilities for Marketing, Infrastructure Management, Budgeting, and so on.  This accounts for half of your year's workload. 

  • Team project (60 credits)
  • Three core modules chosen from the Software Engineering strand (see list)
  • One elective chosen from any strand (see list)
bcs_accredited_degree_rgb euro_inf_seal_bachelor_lightbackground euro_inf_seal_Master_light_background


Best practice

"The Software Engineering modules in the undergraduate programmes are well aligned both theoretically and practically."

BCS Accreditation Visit Panel 2014 


Software Engineering?

"Software Engineering is concerned with developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them." ACM

Software Engineering at Royal Holloway

What is Software Engineering?

Meet a software engineer

Meet some of our staff 

Nuno Barreiro, MSc TU Lisbon, over 15 years of industrial experience in Linux systems, Web development and multimedia production.

Dave Cohen, PhD Oxford U, over 20 years of industrial experience as a programmer and a software architect.

Matthew Hague, PhD Oxford U, EPSRC Fellow working on software verification techniques such as model-checking.

Georgios Koutsoukos, PhD Leicester U, more than 15 years of experience in the IT industry, ISO/IEC 21500 Lead Project Manager, Prince2 Project Manager and ISO/IEC 20000 Lead Implementer.

Adrian Johnstone, PhD London U, develops tools for software language engineering such as compilers and parsers.

Carlos Matos, PhD Leicester U, over 10 years of industrial experience as a software engineer, including system re-engineering.





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