Software Engineering (MSc) 2019 entry

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.

Applications for 2019 entry for this course have now closed, see which courses are available for the upcoming academic year.

Course type

Postgraduate; leading to a Master of Science (MSc)

Course dates

  • Start date: 9 September 2019
  • End date: 30 September 2020

If you started this programme in 2018, you can find information about 2018 entry on the 2018 Software Engineering (MSc) page. Information about all programmes from previous years of entry can be found in the archive.

Course duration

One year full time or two years part time

Entry requirements

A good 2.1 Honours undergraduate degree in Computer Science.

If you studied your first degree outside the UK, see the international entry requirements.

English language proficiency

For direct entry to a Masters in Computer Science you will require an overall score in IELTS (Academic) of 7.0, with a minimum subscore of 6.0 or the equivalent. For alternative forms of evidence, see English language tests and qualifications. If your IELTS score is 6.0 overall with a minimum component score of 5.5, we offer combined degrees in Computer Science with English Language, an 18-month option for those who would like to start a Masters degree while continuing to consolidate their ability to use English effectively in academic contexts.

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.

Tuition fees

UK and EU: £9,000
Overseas: £21,990

Application deadline

Monday 12 August 2019. Applicants should apply as early as possible to be eligible for certain scholarships and for international visa purposes. To maintain staff-student ratios, the School reserves the right to stop accepting applications once the programme is full.

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.
  • Evidence of English language proficiency (required if English is not your first language).

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

Course information

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 Advanced Computer Science or in Information Technology after the first semester.

Teaching format

The taught portion of the MSc programme includes eight modules: five compulsory and three optional from a wide range available. Teaching methods include lectures, seminars, tutorials and practical classes. Most modules are assessed through practical coursework exercises and examinations. Class sizes typically range from 10 to 50 students. 

All students will be required to complete a Post Entry Language Assessment (PELA) on arrival at the University of St Andrews. Based on their performance in this assessment, students will be advised to attend targeted support sessions during the year to improve language and academic skills. This assessment is required, but will not count towards the final degree classification.

You will also 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.

Further particulars regarding curriculum development.

Modules

The modules in this programme have varying methods of delivery and assessment. For more details of each module, including weekly contact hours, teaching methods and assessment, please see the latest module catalogue which is for the 2018-2019 academic year; some elements may be subject to change for 20198 entry.

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

and one or both of:

  • Critical Systems Engineering: delivers an understanding of the concepts and development techniques used for critical, socio-technical systems.
  • Software Architecture: 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. Please consult the relevant programme requirements for available options.

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

  • Advanced Topics in Computer Communication Systems
  • Artificial Intelligence in Practice
  • Artificial Intelligence Principles
  • Critical Systems Engineering
  • Data-Intensive Systems
  • Human Computer Interaction Principles and Methods
  • Information Visualisation
  • Interactive Software and Hardware
  • Knowledge Discovery and Datamining
  • Language and Computation
  • Masters Programming Projects
  • Practice in Computer Communication Systems
  • Principles of Computer Communication Systems
  • Software Architecture
  • Software Engineering Practice
  • Software Engineering Principles
  • User-Centred Interaction Design

Additional optional modules

Students may take up to two of the following:

  • 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
  • Green Information Technology
  • Information Security Management
  • Information Technology Projects
  • Web Technologies

Optional modules are subject to change each year, and 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 or the development of new ideas; software implementation and testing; analysis and evaluation. Students are required to give a presentation of their work in addition to the written dissertation.

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.


The modules listed here are indicative, and there is no guarantee they will run for 2019 entry. Take a look at the most up-to-date list of modules in the module catalogue.

Conferences and 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.

Funding

There are many potential scholarships and support schemes available to postgraduates.

Recent Graduate Discount
The University of St Andrews offers a 10% discount in postgraduate tuition fees to students who are eligible to graduate or who have graduated from St Andrews within the last three academic years and are starting a postgraduate programme with the University of St Andrews.

Find out more about postgraduate scholarships

After the MSc

Research degrees

In addition to the MSc, the School offers a two-year Master of Philosophy (MPhil) degree option in Software Engineering.

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 of our 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, computer communication systems, human computer interaction, and systems engineering, and offers research opportunities leading to a PhD in Computer Science.

Engineering and Physical Sciences Research Council
The EPSRC offers a variety of research studentships in Computer Science.

PhD in Computer Science

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 on a taught postgraduate course and offers a programme of events to assist students to build their employability skills.

Contact information

School of Computer Science
University of St Andrews
Jack Cole Building
North Haugh
St Andrews
KY16 9SX

Phone: +44 (0)1334 46 3253
Email: msc-admin-cs@st-andrews.ac.uk

Computer Science website

Policies

Admission to the University of St Andrews is governed by our Admissions policy.

Curriculum development

As a research intensive institution, the University ensures that its teaching references the research interests of its staff, which may change from time to time. As a result, programmes are regularly reviewed with the aim of enhancing students' learning experience. Our approach to course revision is described online. (PDF, 72 KB).

Tuition fees

The University will clarify compulsory fees and charges it requires any student to pay at the time of offer. The offer will also clarify conditions for any variation of fees. The University’s approach to fee setting is described online. (PDF, 84 KB).