MSc Computing Science


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)

Our core Computing Science MSc is designed for graduates of non-computing subjects who might be interested in a new career direction or who simply want to learn about the subject. The course gives you a firm grounding in the fundamentals of computing, with plenty of options to steer learning in your chosen direction – you’ll also develop valuable skills in project management, research, communication and team work which are extremely attractive to potential employers.

The degree culminates in a Masters dissertation which gives you the chance to specialise in a specific topic and work closely with our world-leading academics. We’ve got strong research 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 take this course?

The MSc Computing Science is designed for the graduates of non-computing subjects to study computer technologies and skills to broaden their knowledge and to create new career prospects. It is a 12-month full-time course but may be studied part-time over 24 months.

The training in this course not only teaches essential computing technical knowledge but also develops generic, transferable skills such as in communication, critical thinking and reasoning, problem solving, independent and team working and project management, with an aim to make the graduates of this course professionally competitive and flexible in a challenging and changing employment environment. Thus, the graduates can find employment in a wider range of careers in industry, business, public sectors, education and research institutions, working as diverse roles, ranging from, software developers, systems analysts, data analysts, IT managers, to independent consultants and academic or commercial 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 course is delivered through lectures, seminars, directed studies and laboratory exercises, involving individual and team work. The assessments are carried out by coursework and/or written examinations. Students will learn modules including Research Techniques, Object-Oriented Programming (in java) and Software Development Methodologies with UML (Unified Modelling Language), Databases, and Internet and Multimedia Technology. These are all integrated in a Web based framework and students are grouped as teams to design and implement a substantial Web-based application. Students also take few optional modules, from the optional module list, which includes Data Mining, Applied Statistics, Networks, Systems Engineering, Systems Development, Artificial Intelligence, Image, and Speech and Language Processing.

Starting in the Spring Semester to August, students will undertake an MSc Dissertation project on a topic that is usually related to the School's research areas, often in collaboration with an outside body. A project requires students to apply the knowledge and skills they have learned from the course to carry out in-depth research on a topic, or develop a working system for various applications. Some project work may be done with companies and could involve paid placement at a company.

Samples of recent dissertation titles:

  • Hybrid positioning technologies for location based services with iPhone
  • Predicting earthquakes with time series data mining
  • An application of video shot detection
  • Machine learning ensemble methods for identifying fake web sites
  • Predicting the results of Tennis matches in real time

Career opportunities

As a graduate from this course, you will be able to find employment in private industry, public sector organisations and in research, working in diverse roles, ranging from independent consultants, software developers, systems analysts, data analysts and IT managers to academic or commercial researchers.

"I have found a job as a junior software developer and I am finding that the course has prepared me well for this. Once again I’d like to thank you for getting your students ready for the real-world."

Rungano Mudimu, (former student).

Course Modules 2018/9

Students must study the following modules for 80 credits:

Name Code Credits


In this module, each Masters student is required to carry out project work with substantial research and practical elements on a specified topic for their MSc dissertation from January to late August. The topic can be chosen and allocated from the lists of proposals from faculty members, or proposed by students themselves with an agreement from their supervisor and also an approval from the module organiser. The work may be undertaken as part of a large collaborative or group project. A dissertation must be written as the outcome of the module.




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:

Name Code Credits


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




In this module you will learn about the development and core technologies of the web, website design, deployment on desktop and mobile devices, current issues (e.g. security), and its impact on society. In the practical part of the module you will work on the design and integration of web sites, emphasising maintainability, accessibility and usability.



Students will select 40 credits from the following modules:

Students who have studied the material covered in Option Range A modules may ask for exemption on the basis of prior learning, or may ask for a concession to study suitable alternative modules.

Name Code Credits


This is a module designed to give you the opportunity to apply statistical methods in realistic situations. While no advanced knowledge of probability and statistics is required, we expect you to have some background in probability and statistics before taking this module. The aim is to teach the R statistical language and to cover 3 topics: Linear regression, ANOVA, and Survival Analysis.




Computer Vision is about "teaching machines how to see". You will study methods for acquiring, analysing and understanding images in both lectures and laboratories. The practical exercises and projects that you undertake in the laboratory will support the underpinning theory and enable you to implement contemporary computer vision algorithms.




You will explore the methodologies of Knowledge Discovery and Data Mining (KDD). You will 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, focusing on clustering, classification and association rule induction. Through this module, you should gain knowledge of algorithms and methods for data analysis, as well as practical experience using leading KDD software packages.




This module is an introduction to information visualisation. You will learn techniques for summarising and presenting a wide range of data. There is a strong emphasis on understanding the appropriate context and use of visualisation techniques. You will also learn about problems and techniques for dealing with large data flows and issues of integrating multiple data sources.




This module covers the core topics that dominate machine learning research: classification, clustering and reinforcement learning. We describe a variety of classification algorithms (e.g. Neural Networks, Decision Trees and Learning Classifier Systems) and clustering algorithms (e.g. k-NN and PAM) and discuss the practical implications of their application to real world problems. We then introduce reinforcement learning and the Q-learning problem and describe its application to control problems such as maze solving.




Embedded processors are at the core of a huge range of products such as mobile telephones, cameras, passenger cars, washing machines, DVD players and medical equipment. The embedded market is currently estimated to be worth around 100x the 'desktop' market and is projected to grow exponentially over the next decade. You will consider the design and development of real-time embedded system applications for commercial off the shelf (COTS) processors running real time operating systems (RTOS) such as ARM-RT, uCLinux etc.




In taking this module you will learn about the issues and techniques involved in and maintaining industrial software development and evolution. You will learn about a range of advanced software engineering topics, such as: reverse engineering to understand legacy software, refactoring, design patterns to improve the design of software systems, using third party software components, designing secure systems, and design for maintainability. In the practical work for the module you will use a range of tools and techniques appropriate for developing contemporary industrial software. You will be developing your existing good programming and software engineering skills to prepare you for working with industrial software. Students on CMP-7000A who are likely to achieve a mark below 65% are strongly advised that this module is not suitable for them. YOU CANNOT TAKE THIS MODULE IF YOU HAVE PREVIOUSLY TAKEN CMP-6010B.




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 Systems Thinking, Casual Loop Diagrams, Systems Failure, Outsourcing, Quality, Risk Management, Measurement, Project Management, Software Process Improvement, Configuration Management, Maintainability, Testing and Peopleware are covered in this module. The module is supported by well documented case studies and includes guest speakers from the 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. In some cases optional modules can have limited places available and so you may be asked to make additional module choices in the event you do not gain a place on your first choice. Where this is the case, the University will endeavour to inform students.

Further Reading

Entry Requirements

  • Degree Classification Good first degree (minimum 2.1 or equivalent). at bachelor level.

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 2018/19

Tuition fees for the academic year 2018/19 are:

  • UK/EU Students: £7,550
  • International Students: £15,800

If you choose to study part-time, the fee per annum will be half the annual fee for that year, or a pro-rata fee for the module credit you are taking (only available for UK/EU students).

International applicants from outside the EU may need to pay a deposit.

We estimate living expenses at £1,015 per month.



A variety of Scholarships may be offered to UK/EU and International students. Scholarships are normally awarded to students on the basis of academic merit and are usually for the duration of the period of study. Please click here for more detailed information about funding for prospective students.


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