Courses and specialist areas

Specialist area choice options plus the format of courses, and regulations for choosing them.

Specialist Areas

Each of our Taught MSc degree programmes allows students a wide range of choices of courses. To help you in deciding what courses to take, we have assembled groups of related courses into Specialist Areas. Within each Specialist Area we identify core Informatics courses central to the Area that we strongly recommend you take and optional related courses that we encourage you to consider.

These Specialist Areas are only guidelines. They have no formal status. Any Specialist Area you choose does not appear on your degree certificate. Ultimately, whether you choose to follow a single Specialist Area, perhaps a combination of two, or none in particular, you need to make sure that the courses you choose meet the requirements of the degree programme you are registered for. The requirements of each degree programme are described in its Degree Programme Table (DPT).  The column headings in the table below link directly to the DPTs for our Artificial Intelligence, Cognitive Science, Computer Science and Informatics programmes, and a link to the Data Science DPT can be found in the MSc in Data Science section below.   These requirements are also built into the Path programme builders for our degree programmes.

The 2017/18 Specialist Areas are listed in the table below. We have tried to ensure that course choices from each of the specialisms marked X in the table are highly likely to work for your degree.

  Degree Programme Title
Specialism AI CogSci CompSci Informatics
Analytical & Scientific Databases     X X
Bioinformatics, Systems & Synthetic Biology       X
Cognitive Science   X   X
Computer Systems, Software Engineering & High-Performance Computing     X X
Cyber Security & Privacy     X X
Intelligent Robotics X     X
Agents, Knowledge and Data  X     X
Machine Learning   X     X
Music Informatics       X
Natural Language Processing X X   X
Neural Computation & Neuroinformatics   X   X
Programming Languages      X X
Theoretical Computer Science     X X

Some of the specialist areas have introductory videos to help you make your selection. All of them have their own page with a brief description and course recommendations. If you are unsure about which specialist area or courses to pick, you can discuss your selection with your Personal Tutor prior to completing the course registration form.

MSc in Data Science

This Informatics MSc functions rather like an additional specialist area.

Data science is the study of the computational principles, methods, and systems for extracting knowledge from data. Large data sets are now generated by almost every activity in science, society, and commerce - ranging from molecular biology to social media, from sustainable energy to health care.

See the entry in the Postgraduate Prospectus and the Degree Programme Table for this MSc for further information.


A standard lecture course normally consists of up to twenty one-hour lectures (two per week for one semester) together with associated coursework and background reading. A few courses may also have tutorials, labs, or a different structure. Most courses have associated assignments, mainly assessed during the course — you will be given assignments to complete by deadlines set by the course lecturer. The relative weightings of the assignments and examination in the final mark for each course are given in the detailed course descriptions. Most of the marks for a course are usually from exams, which may ask questions related to any aspect of that course.

Each course is assigned a level, MSc courses are all level 11. In the timetable you will be able to choose from a restricted list of level 9 and level 10 undergraduate courses. These are specifically designed for third year and fourth year undergraduates but may be of interest and value as part of an MSc programme. You are limited to a maximum of 30 credit points worth of these courses. If you want to take a level 9 or 10 course that is not listed anywhere in this document you should request permission from your Personal Tutor. You do not have to take any level 9 or 10 courses.

The Informatics lecture courses are worth either 10 or 20 credit points (nominally equivalent to 100 or 200 hours' student effort). Most courses in Informatics are 10 credit points but some 20 point courses are available to MSc students. You can take a maximum of four 20 point courses, again you do not have to take any.

Choosing courses

Students are required to be registered for exactly 180 credit points at all times (no more and no less), divided as follows:

The IRR and IPP courses introduce you to the research activity specific to your specialist area. Informatics Research Review gives you an opportunity to survey literature on a particular topic within your specialist area. Informatics Research Proposal allows you to build towards your summer research project.  Both IRR and IPP are graded with a numerical mark, just as with the taught courses. 

The taught course requirement translates to ten 10-credit lecture courses, usually five each Semester.  However, you might well take fewer than ten subjects if you take some 'double' 20-credit courses. The main sources of guidance for selecting the taught courses are the specialist area groupings. You are strongly recommended to select at least 50 credits of courses from your specialist area. Furthermore, all students must satisfy the programming requirements (see below). Once these constraints are satisfied, you are free to add further courses of your choice. You might take external level 9/10/11 courses (depending on your other choices and the rules described above) from other Schools, as long as the organiser of that course is happy to accept you on their course.

If your interests span specialist areas, please talk to your Personal Tutor to ensure that your course selection makes sense. Your choices will usually be approved if they satisfy the "DPT" regulations for your degree, and go well enough together to prepare you for a project and your future career. If your choices do not satisfy the DPT, you might consider changing MSc programme.

It can be useful to consider the maths and programming required for each course. Most informatics courses list these in the "Other Requirements" box of their descriptor on See also any background requirements listed on the webpages for a specialism's core courses. Contact the relevant lecturer if you have course-specific questions.

Students are responsible for making sure that their course selection does not contain timetable clashes. See the page on timetabling. Many of the School's level 11 courses are scheduled together, meaning you can't fully participate in two courses that occupy the same timetable slot. We can do very little to avoid these clashes, but have made every effort to keep courses from the same specialist area apart. Please let us know if this turns out not to be the case, helping us avoid problematic clashes for future years.

Finally, course survey results and introductory videos may help you make your choices.

Deadlines and changes

You may change course choices after your initial selection, but there are deadlines, specified on the course registration pages. After the deadline in Semester 2, all course choices are final.

Entrepreneurship courses

The Innovation-driven Entrepreneurship courses run by the Business School are relevant to all MSc Specialist Areas, and have been developed with Informatics students in mind. The courses are particularly relevant for students who wish to start their own business or have a general interest in entrepreneurship and business. The courses are delivered primarily online with face-to-face group project work.  An overview of the content of these courses can be found in their DRPS course descriptors (10 credit version, 20 credit version) and the PATH system versions of the course descriptors   (10 credit version, 20 credit version) have some further details. The two versions are similar: the main difference is just that the 20 credit version requires more work.

Programming requirement

All MSc students should be able to program well by the time they leave the School of Informatics. This requirement can be fulfilled by taking one or more approved programming classes, unless you obtain an exemption (see below). Most students fulfill the programming requirement by taking Introduction to Java Programming (IJP) in Semester 1. This class moves quickly, really assuming that you have some prior programming experience, and should take you to the level where you can construct large programs in Java. Please attend the opening sessions of IJP if you might need to take this course. Several specialisms have alternative programming class recommendations, some of which are more appropriate for people with limited prior programming experience:

  • Students taking the Natural Language Processing specialist area should register for the PPLS Computer Programming for Speech and Language Processing course (Java, though recommended, is not required). This is a from-scratch introduction to programming, based around Python. Other students with limited programming experience (often in Cognitive Science) may also be better taking this class instead of IJP.
  • Students taking the Agents, Knowledge & Data specialist area should be able to program in Prolog, taught in the Logic Programming class (Java, though recommended, is not required).
  • Many classes use other languages (usually noted in the "Other Requirements" box in the DRPS catalog entry for the course), notably Matlab. To take these courses, you will need sufficient programming background to pick up the required tools as you go.

Beyond these basic requirements, your choice of programming course(s) will depend on your prior experience, the other courses you wish to take (e.g. Prolog is required for some other courses, particularly in the areas of language, cognitive modelling and reasoning), and the type of project you expect to do in the second half of the course (some will require a specific language).

Exemptions: Students who are already expert programmers (at least to the extent that they would have no problem doing their MSc project in a relevant language) may be excused from taking one or more programming courses. If you wish to claim exemption from the programming requirement, obtain approval from your Personal Tutor. You should describe your past experience that you believe qualifies you for an exemption.