Software Engineering (MSc) 2024 entry

The information on this page is for 2024 entry. If you are considering applying for 2025 entry or later, some of these details may differ and we advise you to check the page again before you apply. To receive a notification of when applications open for 2025 entry, please register your interest.

The MSc in Software Engineering is an advanced research-led course in the study of software engineering, developing students' knowledge and skills in software reuse, agile development, software architecture and critical systems engineering.

Start date
September 2024
End date
September 2025
Duration
One year full time
School
School of Computer Science

Application deadline

Friday 31 May 2024. To maintain staff-student ratios, the University reserves the right to stop accepting applications once the programme is full.

Applicants should apply as early as possible to be eligible for certain scholarships and for international visa purposes.

“There are quiet labs if you need total concentration but also ones for teamwork, which is important as postgraduate study can get lonely at times. I have gained so many extra skills – I am much better at time management and have learnt great research techniques. The student community and the teaching staff are among the best things here – everyone is so eager to help.”
Ya Jabou
- Banjul, The Gambia

Entry requirements

  • A 2.1 Honours undergraduate degree in Computer Science. If you studied your first degree outside the UK, see the international entry requirements.
  • Applicants to this programme are expected to be competent programmers with prior practical experience in a programming language such as Java, C, Python, C++ or JavaScript.

English language proficiency

For direct entry to a Masters in Software Engineering, you will be required to provide evidence of English language proficiency. See English language tests and qualifications.

The qualifications listed are indicative minimum requirements for entry. Some academic Schools will ask applicants to achieve significantly higher marks than the minimum. Obtaining the listed entry requirements will not guarantee you a place, as the University considers all aspects of every application including, where applicable, the writing sample, personal statement, and supporting documents.

Application requirements

  • CV or résumé. This should include your personal details with a history of your education and employment to date. 
  • personal statement (optional) 
  • two original signed academic references 
  • academic transcripts and degree certificates. Please only provide certified copies with official English translations if applicable. Do not send original documents as they cannot be returned. 

For more guidance, see supporting documents and references for postgraduate taught programmes.

English language proficiency

If English is not your first language, you may need to provide an English language test score to evidence your English language ability.  See approved English language tests and scores for this course.

Course details

The MSc in Software Engineering is a one-year taught programme run by the School of Computer Science. The course consists of two semesters of taught modules followed by an 11-week project leading to the submission of a 15,000-word dissertation in August. 

Highlights

  • The MSc in Software Engineering is a specialist course but retains some flexibility, allowing students to pursue other areas of computer science alongside the compulsory specialist modules. 
  • Students undertake a significant project, including a wide-ranging investigation and a substantial software development, leading to their dissertation, which enables them to consolidate and extend their specialist knowledge and critical thinking. 
  • Students have 24-hour access to modern computing laboratories, provisioned with dual-screen PC workstations and group-working facilities. 

Students on this course may switch to an MSc in Computer Science or in Information Technology after the first semester. 

Modules

The modules published below are examples of what has been taught in previous academic years and may be subject to change before you start your programme. For more details of each module, including weekly contact hours, teaching methods and assessment, please see the module catalogue.

  • Object-Oriented Modelling, Design and Programming: introduces and reinforces object-oriented modelling, design and implementation to provide a common basis of skills, allowing students to complete programming assignments within other MSc modules. The module assumes a substantial amount of prior programming experience equivalent to having completed an undergraduate degree in Computer Science.
  • Software Engineering Practice: introduces advanced software engineering methods supporting the development of complex, composite software systems with an emphasis on software configuration management, reuse and test-driven development practices. 
  • Software Engineering Principles: examines the key concepts in small and large-scale software development. 

You will also take one or both of: 

  • Critical Systems Engineering: delivers an understanding of the concepts and development techniques used for critical, socio-technical systems. 
  • Software Architecture and Design: introduces students to the concept of software architecture, as an aid to software design, reuse and evolution. 

The following modules are optional for Computer Science programmes. Not all combinations of modules will be available for all programmes, and some modules are subject to pre-requisites being satisfied. 

Students choose three or four optional modules. In the 'Additional optional' lists, students can only take up to two of the modules in each list. See the module catalogue for further descriptions. 

Here is a sample of optional modules that may be offered. 

  • Artificial Intelligence Practice 
  • Artificial Intelligence Principles 
  • Data-Intensive Systems 
  • Human Computer Interaction Principles and Methods 
  • Information Visualisation 
  • Interactive Software and Hardware 
  • Knowledge Discovery and Datamining 
  • Language and Computation 
  • Principles of Computer Communication Systems 
  • User-Centred Interaction Design 

Optional modules are subject to change each year and require a minimum number of participants to be offered; some may only allow limited numbers of students (see the University's position on curriculum development). 

Students may take up to two of the following: 

  • Advanced Communication Networks and Systems 
  • Computer Architecture 
  • Computer Graphics 
  • Computer Security 
  • Concurrency and Multi-Core Architectures 
  • Constraint Programming 
  • Distributed Systems 
  • Logic and Software Verification 
  • Programming Language Design and Implementation 
  • Video Games 

Students may take up to two of the following: 

  • Database Management Systems 
  • Information Security Management 
  • Web Technologies 

Optional modules are subject to change each year and require a minimum number of participants to be offered; some may only allow limited numbers of students (see the University's position on curriculum development). 

During the second semester, students work with staff to define and agree upon a topic for the extended project, which they will work on during the final three months of the course, and which culminates in a 15,000-word dissertation. Dissertation projects may be group-based or completed individually (students are assessed individually in either case). 

The dissertation typically comprises: 

  • a review of related work 
  • the extension of existing ideas or the development of new ideas 
  • software implementation and testing 
  • analysis and evaluation. 

Each project is supervised by one or two members of staff, typically through regular meetings and reviews of software and dissertation drafts. 

If students choose not to complete the dissertation requirement for the MSc, there is an exit award available that allows suitably qualified candidates to receive a Postgraduate Diploma instead, finishing the course at the end of the second semester of study. 

Teaching

The taught portion of the MSc programme includes eight modules: four compulsory and four optional from a wide range available.

Teaching methods include lectures, seminars, tutorials and practical classes.

Class sizes typically range from 20 to 110 students.  

Most modules are assessed through practical coursework exercises and examinations.

You will be assigned an advisor who meets with you at the start of the year to discuss module choices and is available to assist with any academic difficulties during the year.

A designated member of staff provides close supervision for the MSc project and dissertation. 

Events

The School of Computer Science organises a regular programme of colloquia, talks and seminars by external and internal speakers from both industry and academia. The talks are aimed at bringing the diversity, excitement and impact of computer science from around the globe to staff and students within the School. 

The St Andrews Computing Society (STACS) regularly organises hackathons and other events open to local and external participants, including MSc students. These are very popular events, often supported by industrial sponsors. 

The Computer Science blog regularly publishes news and events.  

Fees

Home
£11,680

Overseas
£29,950

Application fee

Before we can begin processing your application, a payment of an application fee of £50 is required. In some instances, you may be eligible for an application fee waiver. Details of this, along with information on our tuition fees, can be found on the postgraduate fees and funding page.

Funding and scholarships

The University of St Andrews is committed to attracting the very best students, regardless of financial circumstances.

15% Recent Graduate Discount

If you have graduated from the University within the last three academic years, you may be eligible for a 15% discount on postgraduate taught tuition fees. Terms and conditions apply.

Taught postgraduate scholarships    Postgraduate loans

After your degree

Careers

Alumni of Computer Science MSc programmes have gone on to work in a variety of global, commercial, financial and research institutions, including: 

  • Amadeus 
  • Amazon 
  • Atlas 
  • Avaloq 
  • Barclays Capital 
  • BP 
  • BT Openreach 
  • Capricorn Ventis 
  • FactSet 
  • Hailo 
  • Hewlett Packard 
  • Hitachi Data Systems 
  • Microsoft 
  • OpenBet 
  • Rockstar 
  • Royal Bank of Scotland 
  • Sky 
  • Skyscanner 
  • Symantec 
  • TriSystems. 

The Careers Centre offers one-to-one advice to all students as well as a programme of events to assist students in building their employability skills.


Further study

The EngD programme in Computer Science is a 4-year Engineering Doctorate involving an industrial partner and incorporating a 30-week taught component and a 170-week individual research component. Students who have already completed an MSc may be able to proceed directly to the individual research component of the EngD. 

Many graduates continue their education by enrolling in PhD programmes at St Andrews. The School of Computer Science is highly rated for its theoretical and practical research in areas such as:

  •  AI
  • symbolic computation
  • networking
  • distributed systems
  • human computer interaction
  • systems engineering

The School also offers research opportunities leading to a PhD in Computer Science. 

Postgraduate research

What to do next

Online information events

Join us for one of our information events where you can find out about different levels of study and specific courses we run. There are also sessions available for parents and college counsellors.

Postgraduate online visiting days

We encourage all students who are thinking of applying to the University to attend one of our online visiting days.

Contact us

Phone
+44 (0)1334 46 3253
Email
msc-admin-cs@st-andrews.ac.uk
Address
School of Computer Science
Jack Cole Building
North Haugh
St Andrews
KY16 9SX

School of Computer Science website