Personal tools
Warning: These pages are now out of date. Please use the new site at

Courses and Specialist Areas

The MSc programmes offer a large number of courses, covering all aspects of Informatics. This page describes the format of courses, and regulations for choosing them. You also need to choose a Specialist Area, which will help you to choose a cohesive group of courses.

Specialist Areas

The 2014/15 specialist areas are listed below. The "DPT" rules for your programme of study (degree title) ultimately determine what course choices are allowed. We aim to ensure that course choices from each of the specialisms marked X in the table all work for your degree. It is often possible to adopt a specialism that isn't officially supported, but you would need to check your particular course choice against the DPT.

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
(was Knowledge Management Representation Reasoning)
X     X
Machine Learning    (was “Learning from Data”) X     X
Natural Language Processing X X   X
Neural Computation & Neuroinformatics   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.


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 course that is not listed anywhere in this document you should request permission from the Year Organiser. 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 two 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 IRP 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. These courses have a simple PASS/FAIL grade only.

The graded course requirement translates to eight standard 10-point lecture courses, usually four each Semester. You might take fewer than eight subjects if you take some 'double' 20-point courses. The main sources of guidance for selecting the graded courses are the specialist area groupings. You are strongly recommended to select at least 50 points of courses from your specialist area. Furthermore, all students must satisfy the programming requirement (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, and 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. Informatics courses can be seen at a glance, on the course timetable. You can build a personal timetable of all your courses with T@ED or PATH. 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 Course

The Innovation-driven Entrepreneurship course run by the Business School is relevant to all MSc Specialist Areas, and has been developed with Informatics students in mind. The course is particularly relevant for students who wish to start their own business or have a general interest in entrepreneurship and business. Unusually this course is being delivered online. Full information will be available in a University system called Learn after signing up. Prospective students can find out more from an external page and an introductory video.

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 Knowledge Management, Representation & Reasoning 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.