St Andrews HCI Research Group


The School of Computer Science in the University of St Andrews offers an MSc in Human-Computer Interaction, which focusses on the interaction between people and computers. This is an intensive one-year programme developed by the SACHI group to provide students from a variety of backgrounds with the tools, knowledge and skills to become practitioners in the areas of User eXperience, Usability, Information Visualisation, Human Factors in Computing Systems, and Human-Computer Interaction research.

The programme gives access to a range of roles in industry (for example, UX designers, visual analysts, interaction designers and interaction architects) and to PhD degrees in Human-Computer Interaction and Information Visualisation, here and elsewhere.

Human-Computer Interaction (HCI) is the discipline that addresses the design, understanding, and processes related to systems that include both computers and humans (individually, in groups, or as organisations). HCI is fundamental for the design of successful new devices and services (e.g., input devices, web applications, and social networks), to ensure their safety and appropriateness, and to understand the effects of the use of information technologies by individuals, groups and organisations.



“The content of the course was just great, discussing modern principles and ideas with long established theory, while the practical side of the course was always looking at modern tools and equipment. The tools we used were all great fun, but also practical, meaning that the skills I took with me were great to learn and useful in the working world. What really made the difference was the teaching staff – constantly with their ear to the ground looking to improve and refine the course.”

Ashley Hogarth, HCI MSc 2014

Main Philosophy and Approach

Our programme emphasises and develops interdisciplinarity, creative thinking, and hands-on work. Students from any discipline are welcome, but it is highly recommended that applicants have some previous programming experience. In the University of St Andrews we believe in a highly personalised education based on a nurturing environment. Our students have regular access to the academics in the group and in the School, and the programme is designed to be flexible and help develop the strengths of each individual. The academics, researchers and students of the HCI MSc form a vibrant open community where connections and collaborations are encouraged. Take a look at some of the projects below to see examples of what our graduates have done.

“The MSc HCI was a challenging but very rewarding year. The course has given me a full range of skills – from technical knowledge to research and design – that I use every day as a User Experience Designer.”

Alice G Herbison, HCI MSc 2014

How to Apply

The University Admissions Unit handles all admissions, to all postgraduate degree programmes.

See the University website for details on how to apply.

Programme Content

The MSc programme is supported by three pillars: module-based learning, a final project in research or industry, and a vibrant seminar series.

The MSc modules cover principles and practice of HCI, hardware/software prototyping, interaction design and evaluation methodologies. Our modules have been developed by world leading expert researchers in the field of HCI, who regularly publish in leading international conferences, for example ACM CHI, UIST, InfoVis and MobileHCI. As a result, students who complete this MSc will be at the forefront of HCI and Information Visualiszation.
Here you will apply the acquired skills to design, develop and evaluate novel user interfaces. The programme culminates with a research- or industrially-driven project over the course of the summer months. We engage with industrial and public-sector collaborators in cutting-edge projects.
MSc students immerse themselves in an atmosphere of research excellence and intellectual and practical endeavour. A crucial part of this is our seminar series, which regularly features international HCI experts as speakers.
The programme program is complemented with modules from other disciplines that are taught at the postgraduate level in the School of Computer Science, such as artificial intelligence (CS5010), language and computation (CS5012), mobile and wireless networks (CS5023), knowledge discovery and data mining (ID5059). The compulsory modules in this programme cover the principles and methods of HCI (CS5040), HCI practice on interactive hardware and software (CS5041), interaction design (CS5042), and information visualiszation (CS5044). See more details about our HCI modules below.

This module forms a core part of MSc in Human- Computer Interaction. It provides students with fundamental principles underpinning the study of HCI. This module introduces the history of HCI; evaluation paradigms in HCI and design guidelines and heuristics. The following topics are covered:

  • Introduction to universal design, cognition, ergonomics, and usability.
  • Experimental design and hypothesis testing in HCI.
  • Quantitative and qualitative evaluation methods in HCI.
  • New paradigms of HCI beyond the desktop.

The module is structured as a series of in- depth lectures each week along with three assignments which build on the principles introduced. Each assignment allows students to develop a deeper understanding of the principles as they apply to current and future forms of HCI.
The module prepares the student to explore HCI practice, user-centred design and a deeper study of evaluation methods in HCI. This module forms a core part of MSc in Human-Computer Interaction. It is aimed at students with a background in Computer Science who wish to specialise in HCI.
You can find further details on the School’s module page for CS5040

This module provides students with the technical skills to build research prototypes and state-of-the-art interfaces. The module is heavily applied, and relies on practical and hands-on experience. It is structured as weekly introductions to specific cutting-edge technologies of interest (e.g., tangible computing, mobile computing, 3D sensing, 3D printing, Arduino), with practicals and studio time that will enable the learnerstudents to put into practice the concepts introduced.

The module prepares the students to be fluent in the technical skills that will be required for the dissertation work. Open practicals towards the end of the module’s end will encourage students to combine these and other advanced technologies to realise the student’s own interface ideas
You can find further details on the School’s module page for CS5041.


This module provides students with the methodological and conceptual tools to design new interactive systems that are effective, usable, and meaningful for users. The emphasis is on creativity and prototyping methods to achieve better designs. Since design activity often takes place in groups, the students will also learn a set of methodologies to communicate their design to others and to collaboratively create and develop designs working together with others. This module is highly practical and seeks that students put the learnt design methodologies in practice with the design of real projects from external and internal stakeholders. Projects designed in this module will contribute to the pool of possible projects available for extension during the dissertation work, contingent on the outcome.

You can find further details on the School’s module page for CS5042


This module provides a theoretical and practical introduction to information visualisation and visual analytics. It provides an introduction and overview of the following topics:

  • Basic principles of visual perception.
  • Visual design and interaction principles.
  • Existing visualisation techniques and tools to facilitate communication, data exploration and analysis.
  • Evaluating information visualisations in different contexts.

The module prepares students to critically reflect on visualisation which is starting to become ubiquitous as part of our professional and personal lives. It also provides practical skills to develop effective interactive data visualiszations using existing visualiszation tools (e.g., Tableau) and to design and implement novel visualiszations from scratch (e.g., in D3.js). Skills in designing, developing, and evaluating information visualisations are reinforced through practical assignments that will be based on real-world data sets.

Overall, the module will teach students a creative and critical take on visual representations, data analysis and exploration – crucial skills for both industry and academic jobs.
You can find further details on the School’s module page for CS5044