Computer Systems and High-Performance Computing

Course options and guidance for the Computer Systems and High-Performance Computing topic area

What will I learn from courses in this topic?

This topic embraces both the theory and the practice of designing, optimising and programming computer systems, with topics ranging from advanced programming concepts to the design of computer systems. Developing such systems requires understanding of a broad range of fundamental concepts as well as the engineering methods used to design and optimised them.

The Computer Systems and High Performance specialist area aims to provide students with the conceptual knowledge and practical skills needed for entry into PhD programmes or employment focussed on research or development of computer systems and systems software.

How can I best prepare for these courses?


If you haven't programmed in a variety of programming languages (e.g. C/C++, Java) before, we recommend you start to learn these before you arrive.

What courses are available?

Edinburgh has strong programmes in both Computer Systems and High-Performance Computer. You can take courses in one or both of these areas. Depending on your background and interests, you can also choose to supplement these with courses on Programming Languages, Software Engineering, or Databases and Data Management.

Level 11 (MSc) courses

Semester 1:

Semester 2:

Level 11 (MSc courses) offered by EPCC

The Edinburgh Parallel Computing Centre (EPCC) is affiliated with the School of Informatics but runs its own MSc programmes. These courses are part of the EPCC MSc programmes, which tend to have a more applied focus than the Informatics MSc programmes, providing training in particular parallel programming languages and techniques. Several of these are meant to be taken together as part of their MSc programmes, so check the prerequisites and corequisites carefully before registering. These courses may have quotas, so register as early as possible.

Edinburgh Parallel Computing Centre

Semester 1:

Semester 2:

Level 10 courses

These courses are mainly intended for undergraduates, but may also be taken by MSc students. As such, they tend to provide a broader introduction to the topic than a Level 11 course. Many students on the Computer Science MSc will have done similar courses elsewhere, but if you have not, it may be worth registering for one of these courses. Students on other degrees are also welcome to take them if you have the prerequisites.

Related topics

The most relevant related course topics are listed below. Many of these include courses that involve a computer system or a high-performance computing component. Machine learning is now used in many areas of computer systems, so if you are considering taking a machine learning course, please read the guidance on that page.

Cyber Security & Privacy

Databases and Data Management

Machine Learning

Software Engineering