Advert
Advert
  • DeadlineStudy Details: One year

Masters Degree Description

Advanced research-led course in software engineering where students develop knowledge and skills in software reuse, agile development, software architecture and critical systems engineering.

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

Find out more

Fees

For fees and funding options, please visit website to find out more

Student Destinations

Software engineering can lead to highly diverse, varied, and well-paid career paths and graduates in this field are in high demand. You will gain the knowledge and skills needed to make a success of your career in a wide range of sectors.

Module Details

Compulsory

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

Optional

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

Additional Optional

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

Dissertation Project

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.  

Find out more

Add to comparison

Learn more about University of St Andrews

Where is University of St Andrews?