MRes Computing Science

Key facts

(National Student Survey, 2015)


Computer Scientists have developed a new programme that will unearth the missing links in our planet’s past.

Read It

Key facts

(2014 Research Excellence Framework)

The MRes Computing Science gives you the opportunity to undertake a research-focused qualification without committing to a full PhD. You’ll specialise in one of our major areas of research, working closely with world-leading academics to produce a dissertation on a cutting edge problem.

The course introduces you to the advanced research skills that you’ll need to complete a Doctoral programme alongside taught modules in a wide variety of topics that can complement your research.

We’ve got strong expertise in areas as diverse as Artificial Intelligence, Audio and Visual Processing and Data Mining, and our research was highly rated in the latest Research Excellence Framework (2014).


Why choose this course?

The MRes Computing Science provides students with foundation training in the basic and advanced research skills sufficient to enter a Doctoral programme. The MRes programme is also suitable for candidates who may wish to obtain a research-oriented degree, but do not wish to commit themselves to a longer period of study. The MRes pathway has a greater research element than the other MSc programmes offered by the School, whilst also giving students the opportunity to gain credit for the taught components. MRes programmes are designed to bridge the gap between undergraduate studies and the skills required by professional researchers.

Contact time

Students have on average 15 hours of contact time per week with teaching staff through lectures, laboratory sessions and seminars, though this may vary depending on module choices. Additionally, students should allocate at least 25 hours per week for study, coursework assignments and projects.

Teaching and assessment

The MRes Computing Science is a full-time, one-year programme; it can also be taken part-time over two years. Once on the course, you will specialise in one of the broad areas of the School’s research. You will normally take three taught modules that are related to your area of specialism or that provide you with important background knowledge. You will also take a module in research techniques and a directed study module. The directed study module will related to your area of specialism and, often, it will have a project component. Your academic advisor will guide you through your module choices and assist you in choosing suitable study topics. There will be an emphasis on transferrable skills applicable to a future research career, including analytical and critical research skills, communication skills and project management.

The dissertation element of the programme will be larger than that of our taught MSc courses, counting for 80 credits. You will choose your dissertation area early in the academic year, undertaking preliminary work on it during the spring semester and working on it full-time after the examinations until early September.

Career opportunities

As a graduate from this course, you will have an excellent foundation for entry to a Doctoral programme. You can also pursue a career in a commercial or public sector setting where you can exploit your research skills and specialist knowledge.

Course Modules

Students must study the following modules for 120 credits:

Name Code Credits


RESERVED FOR MRes STUDENTS IN THE SCHOOL OF COMPUTING SCIENCES. This module provides the student with a piece of individual work, which allows the student to conduct a substantial research-based investigation. The subject of the dissertation will be determined by agreement between the student and his or her supervisor.




This module aims to prepare postgraduate students with necessary intellectual and practical skills for successfully carrying out research work for their MSc Dissertation in Computing Sciences and Computational Biology. Specifically, it teaches research methodologies, techniques and tools used in computing sciences, and more importantly, provides systematic trainings to enhance students' transferable skills and their understanding in ethics, social and legal issues involved in computing professions.



Students will select 60 credits from the following modules:

Any Level M modules offered by the School of Computing Sciences and approved by the Course Director.

Name Code Credits


This module starts off with state of the art software engineering concepts including the Unified Process (UP) as part of Iterative and Incremental Development (IID), Agile Programming methods (e.g. extreme programming, scrum, etc.), and Design Patterns. This is followed by covering advanced features of three of the currently most popular General Purpose Languages (GPL's): C++, Java and C#. Different IDE's are covered in depth (such as Visual Studio, netbeans and Eclipse). Other advanced programming concepts include dynamic link libraries (DLL's), GPU based API's (Application Programming Interfaces) such as CUDA and OpenCL, exception handling, memory management and multithreading.




The module aims to establish a clear understanding of Object Oriented Programming (OOP) and essential Objected Oriented Methodologies for developing application software. It teaches Java programming language and uses it as a vehicle to learn important concepts, such as objects, classes, inheritance, encapsulation and polymorphism. It also covers the Unified Modelling Language (UML) as a tool for object-oriented analysis and design, software development life cycle models, and software testing strategies and techniques.




This is a module designed to give students the opportunity to apply statistical methods in realistic situations. While no advanced knowledge of probability and statistics is required, we expect students to have some background in probability and statistics before taking this module. The aim is to introduce students to R statistical language and to cover Regression, Analysis of Variance and Survival analysis. Other topics from a list including: Extremes and quartiles, Bootstrap methods and their application, Sample surveys, Simulations, Subjective statistics, Forecasting and Clustering methods, may be offered to cover the interests of those in the class. BEFORE TAKING THIS MODULE you have taken CMP-4004Y or CMP-4005Y or CMP-4006Y or have an equivalent basic knowledge of probability and statistics.




This module introduces the students to core techniques in Artificial Intelligence and some topics in algorithmics. Topics covered include First-Order logic and resolution proofs, introduction to Prolog programming, state space representation and search algorithms, knowledge representation, and expert systems, Bayesian and neural networks.







The module is seminar- and lab-based and draws on previous knowledge of 3D computer graphics programming (for example CMP-7013A/CMP-6006A). It aims to make the student familiar with more advanced computer graphics and games methodologies and technologies. This includes Virtual Reality (VR), Augmented Reality (AR), Motion Capture, Haptic and Force Feedback and Stereoscopy. Seminars also cover advanced topics such as physics simulation, physics engines, games Artificial Intelligence (AI), mobile games development, character animation, procedural content generation (PCG) and serious games (medical and other applications).




This module covers the fundamentals in 3D graphics including transformations, lighting, shading, texture mapping and anti-aliasing techniques. The module also provides an introduction to programming 3D graphics using OpenGL and the OpenGL Shading Language (GLSL). Ability to program in a high level language such as C++ or Java is required. This module should not be taken if you have previously taken CMP-6006A.




Computer Vision is about "teaching machines how to see". It includes methods for acquiring, analysing and understanding images. The unit comprises lectures and laboratories. Practical exercises and projects, undertaken in the laboratory support the underpinning theory and enable students to implement contemporary computer vision algorithms.




This module is designed for postgraduate students studying on MSc courses. The module explores the methodologies of Knowledge Discovery and Data Mining (KDD). It aims to cover each stage of the KDD process, including preliminary data exploration, data cleansing, pre-processing and the various data analysis tasks that fall under the heading of data mining. Through this module, students should gain knowledge of algorithms and methods for data analysis, as well as practical experience using leading KDD software packages.




This module introduces most aspects of databases, database manipulation and database management systems. Practical experience of database manipulation is provided through the use of SQL and the Java JDBC interface on a relational database management system. Database design is introduced using Entity-Relationship modelling and normalisation.




Single computer systems have limited processing power and are vulnerable to failure. Using distributed computing, processing speeds exceeding the limits of any single computer, and systems that continue to be available when individual computers fail can be realised. Achieving these features requires use of adequate algorithms, software architectures and networking techniques. This is the subject of this module.




An overview of Human Computer Interaction, including user interfaces on conventional computers and small footprint devices (e.g. smartphones). Human-Computer interactions are approached from a variety of perspectives, with an emphasis on experimental evaluation.




This module is an introduction to information visualization. It covers techniques for summarizing and presenting a wide range of data. The problems and techniques for dealing with large data flows are a major theme and there is a strong emphasis on understanding the appropriate context and use of visualization techniques.




This module surveys the current and emerging technologies of the Internet and its impact on society, particularly e-commerce. The practical part of the module concentrates on the design and integration of web sites, using a range of tools and techniques in current use.




This module draws together a wide range of material and considers it in the context of developing modern large-scale computer systems. Topics such as Outsourcing, Process Improvement, System Failure, Project Management, Configuration Management, Maintainability, Legacy Systems and Re-engineering, Acceptance and Performance Testing, Metrics and Human Factors are covered in this module. The module is supported by a series of industrial case studies and includes speakers from industry.




Whilst the University will make every effort to offer the modules listed, changes may sometimes be made arising from the annual monitoring, review and update of modules and regular (five-yearly) review of course programmes. Where this activity leads to significant (but not minor) changes to programmes and their constituent modules, there will normally be prior consultation of students and others. It is also possible that the University may not be able to offer a module for reasons outside of its control, such as the illness of a member of staff or sabbatical leave. Where this is the case, the University will endeavour to inform students.

Entry Requirements

  • Degree Subject Computer Science or a related subject.
  • Degree Classification Good first degree (minimum 2.1 or equivalent).

Students for whom English is a Foreign language

We welcome applications from students whose first language is not English. To ensure such students benefit from postgraduate study, we require evidence of proficiency in English. Our usual entry requirements are as follows:

  • IELTS: 6.5 (minimum 6.0 in all components)
  • PTE (Pearson): 62 (minimum 55 in all components)

Test dates should be within two years of the course start date.

Other tests, including Cambridge English exams and the Trinity Integrated Skills in English are also accepted by the university. The full list of accepted tests can be found here: Accepted English Language Tests

INTO UEA also run pre-sessional courses which can be taken prior to the start of your course. For further information and to see if you qualify please contact

Fees and Funding

Tuition Fees for 2017/18

  • Home/EU: Full-time £7,300, Part-time £3,650

If you choose to study part-time, please assume a pro-rata fee for the credits you are taking, or 50% of the equivalent fee per year if you are taking a full-time course on a part-time basis.  

  • Overseas: Full-time £14,800

If you are classed as an 'overseas' student and are coming to UEA on a student or visitor's visa, UK visa rules won't normally allow you to study on a part-time course. You should always check with the UKVI for the latest requirement.


50% Final Year Undergraduate Continuation Scholarship

Current final year UEA undergraduate students who gain a First class degree and progress onto a postgraduate course in September 2017 will receive a 50% fee reduction scholarship. Who do not gain a First class degree will be eligible for the 10% UEA Alumni Scholarship outlined below. Terms and conditions apply.

UEA Alumni 10% Scholarship

A scholarship of 10% fee reduction is available to UEA Alumni looking to return for postgraduate study at UEA in September 2017. Terms and conditions apply.

How to Apply

Applications for Postgraduate Taught programmes at the University of East Anglia should be made directly to the University.

You can apply online, or by downloading the application form.

Further Information

To request further information & to be kept up to date with news & events please use our online enquiry form.

If you would like to discuss your individual circumstances prior to applying please do contact us:

Postgraduate Admissions Office
Tel: +44 (0)1603 591515

International candidates are also encouraged to access the International Students section of our website.

    Next Steps

    We can’t wait to hear from you. Just pop any questions about this course into the form below and our enquiries team will answer as soon as they can.

    Admissions enquiries: or
    telephone +44 (0)1603 591515