MRes Computing Science


Attendance
Full Time
Award
Degree of Master of Research



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).

Overview

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

RESEARCH DISSERTATION

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.

CMP-7021X

100

RESEARCH TECHNIQUES (RESEARCH METHODS)

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.

CMP-7030Y

20

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

ADVANCED PROGRAMMING CONCEPTS AND TECHNIQUES

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.

CMP-7009A

20

ADVANCED SOFTWARE SYSTEM DEVELOPMENT

This module explores the development of software systems from an industrial context. Most software companies do not start developing a software system from scratch but rather they build on legacy systems and third-party software components. This module introduces industrial practice such as reverse engineering and documentation of legacy and third-party software, improving software design to increase flexibility, adaptability, etc (refactoring) and building a new web-based software system from a legacy piece of software. Topics include: reverse engineering of object-oriented system design, refactoring software systems with design patterns, UML and XML and practical design and implementation for an architected software system built on legacy software. Considerable use is made of software engineering topics such as phased iterative and incremental development, object-orientation, unit testing, source code control as well as advanced Java programming and the Unified Modelling Language, prior knowledge of these subjects. THIS MODULE IS CO-TAUGHT WITH CMP-6010A

CMP-7007A

20

APPLICATIONS PROGRAMMING

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.

CMP-7000A

20

APPLIED STATISTICS

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.

CMP-7008B

20

ARTIFICIAL INTELLIGENCE

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.

CMP-7028A

20

AUDIO AND VISUAL PROCESSING

CMP-7016A

20

COMPUTER GAMES LABORATORY

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).

CMP-7014B

20

COMPUTER GRAPHICS

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.

CMP-7013A

20

COMPUTER VISION

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.

CMP-7026B

20

DATA MINING

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.

CMP-7023B

20

DATABASE MANIPULATION

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.

CMP-7025A

20

DISTRIBUTED COMPUTING

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.

CMP-7010B

20

HUMAN COMPUTER INTERACTION

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.

CMP-7018A

20

INFORMATION VISUALISATION

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.

CMP-7022B

20

INTERNET and MULTIMEDIA 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.

CMP-7003A

20

SYSTEMS ENGINEERING ISSUES

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.

CMP-7004B

20

Disclaimer

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 intopre-sessional@uea.ac.uk

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.

 

Scholarships

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 2016 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 2016. 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
Email: admissions@uea.ac.uk

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

    Next Steps

    Need to know more? Take a look at these pages to discover more about Postgraduate opportunities at UEA…

    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:
    admissions@uea.ac.uk or
    telephone +44 (0)1603 591515