Students take the following compulsory module:
- 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.
and then follow one of the following themes:
- Software Engineering: on completion of this theme, students will have gained skills and experience in the application of general software engineering principles and practice, software architecture, and critical systems engineering. Students will be prepared to apply their learning in the research and development of highly dependable software systems.
- Artificial Intelligence: on completion of this theme, students will have gained skills and experience in the application of this key, state-of-the-art topic in the field of dependable software. Students will be prepared to apply their learning into artificial intelligence in the research and development of software systems that use AI to achieve high levels of dependability in poorly specified or highly changeable environments.
- Data Science: on completion of this theme, students will have gained skills and experience in data-intensive systems, data mining, and knowledge discovery as applied to dependable software systems. Students will be prepared to apply their learning in the research and development of highly dependable, data-intensive software systems.
Students choose either two or three optional modules from the following list (up to two of these may be taken from the second list). See the module catalogue for their descriptions.
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).
Here is a sample of optional modules that may be offered.
- Artificial Intelligence Practice
- Artificial Intelligence Principles
- Critical Systems Engineering
- Data Ethics and Privacy
- Data-Intensive Systems
- Information Visualisation
- Interactive Software and Hardware
- Knowledge Discovery and Datamining
- Language and Computation
- Machine Learning
- Practice of Computer Communication Systems
- Principles of Computer Communication Systems
- Software Architecture
- Software Engineering Practice
- Software Engineering Principles
Additional optional modules
- Constraint Programming
- Information Visualisation
- Logic and Software Verification
Students who do not enrol in an industrial or research project will be required to do a dissertation instead. Project work is a major aspect of this Masters programme, accounting for 33% of the total degree marks. Students complete a project at each of the two universities and submit a dissertation for examination at the end of each project.
At St Andrews, 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.
Students in their second year may be eligible to do an industrial or research placement which accounts for 60 credits, accounting for 50% of the total degree marks.