MSc Computing Science

Key facts

(2014 Research Excellence Framework)


Take the next step towards the career you want and sign up to one of UEA’s Postgraduate Open Events on 29 January and 18 March 2020.

Read It
If you are a graduate from any non-computing subject and are interested in computers, this Masters course is designed for you to broaden your existing knowledge to the sensational computing fields.

It does not require any previous knowledge and experience in computing as it starts by teaching very fundamental computing knowledge, such as Application Programming, Internet technology, Databases. It then offers plenty of options to steer your learning towards your own aspirations in some more advanced specialised areas, e.g. machine learning, data mining, computer vision, and modern embedded technology, and more.

Upon graduation you’ll be professionally competitive and also highly flexible to take a career in a challenging and changing employment environment. Over the years, our graduates found their employment in various companies, such as Microsoft, BT, Aviva, WorldPay, PwC, China Mobile, public sectors, e.g. National Statistics, and Research Institutes etc.


Our MSc Computing Science is specially designed for graduates of non-computing subjects to study computer technologies and skills to broaden their knowledge and create new career prospects. It is a one-year full-time course but you can also take it part time over two-years.

In this course, you’ll not only learn essential and advanced computing knowledge and skills but also develop (in Research Techniques Module) your generic, transferable skills for communication, critical thinking and reasoning, problem solving, technical writing, independent and team working and project management. In addition, you learn proper computing professionalism and ethics.

Firstly you will take three fundamental modules: Applications Programming, Database Manipulation, and Internet and Multimedia Techniques. They will teach you essential knowledge and skills in three main and important areas in Computing: Programming, Database and Internet. These modules lay some solid foundations for you to move onto more advanced and/or specialised fields, by choosing some optional modules in advanced and/or specialised areas/themes, such as Machine Learning and Data Mining, Software Engineering and System Development, Computer Graphics and Vision, Distributed and Cloud  Computing, Embedded Technologies, etc. If you are not sure what to choose, your adviser will help you.

You also need to do a dissertation project (60 credits) from January to late August, which gives you the chance to specialise in a specific topic and work closely with our world-leading academics. You can choose a project from a list of many proposals made by our faculty members and/or industrial collaborators. Or you may propose your own if you have a good idea. You will be supervised by a supervisor from the School for doing your dissertation, which may result in a publication, and/or some systems that have a potential to be used in research, industries or businesses.

Course Structure

On this one-year course you’ll take a set of key modules to give you a thorough grounding in the subject, complemented by your choice of optional modules.

Your key modules will be Applications Programming, Database Manipulation and Internet and Multimedia Techniques. If you have already covered these subjects before, you can consider swapping these for optional modules after getting a permission from the course director.

In the Applications Programming module you’ll gain a clear understanding of Object Oriented Programming (OOP) and essential Objected Oriented Methodologies for developing application software. You’ll learn Java programming language and use it as a vehicle to learn important concepts, such as objects, classes, inheritance, encapsulation and polymorphism. You’ll also learn Unified Modelling Language (UML) as a tool for object-oriented analysis and design, software development life cycle models, software testing strategies and techniques, and version control.

The Database Manipulation module introduces you to most aspects of databases, database manipulation and database management systems. You’ll gain practical experience of database manipulation through the use of SQL and the Java JDBC interface on a relational database management system. Plus you’ll get an introduction to database design using Entity-Relationship modelling and normalisation.

In the Internet and Multimedia Techniques module you will learn about the development and core technologies of the web, website design, deployment on desktop and mobile devices, current issues (such as security), and its impact on society. In the practical part of the module you will work on the design and integration of websites, emphasising maintainability, accessibility and usability.

In addition to these core modules you’ll choose two modules (40 credits) from optional modules covering topics such as Applied Statistics, Computer Vision, Data Mining, Machine Learning, Distributed Computing, Information Visualisation, Modern Embedded Technology and Systems Engineering Issues, Software Engineering, etc.  

Two compulsory modules are Research Techniques Module (over two semesters) and the Dissertation Module. For your dissertation you’ll work on a topic of your own choice with the support of a tutor. Examples of recent dissertation titles include:

  • 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 on-line reviews or fake news
  • Predicting the results of tennis matches in real time
  • Predicting energy consumption for residential customer using smart meter data

Teaching and Learning

You’ll have an average of 15 hours of contact time per week with teaching staff through lectures, laboratory sessions and seminars – although this may vary depending on your module choices. Additionally, you should allocate at least 25 hours per week for independent study, coursework assignments and projects.

You’ll be taught through lectures, seminars, directed studies and laboratory exercises, involving individual and teamwork. Your modules are all integrated in a web-based framework and you’ll be grouped as teams with other students to design and implement a substantial web-based application.

Independent study

Alongside your formal learning, you’ll study independently to gain a deeper appreciation of specialist topics. You’ll build up to your MSc dissertation project, where you will explore a topic or work on a problem that is usually related to the School's research areas. This project gives you an opportunity to apply the knowledge and skills you 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.


We’ll use a wide range of methods to assess your learning – including programming assignments, technical reports, class tests, problem sheets, laboratory reports, presentations and demonstrations. It depends on the module content and learning objectives to decide which ones are used. Most modules are assessed through a mixture of coursework and exams, while some are entirely assessed by coursework only. In your dissertation module, you will be assessed particularly through a demonstration/presentation and the dissertation on your understanding, how you integrate knowledge from different areas of the subject and apply them into your project work.

After the course

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.

One past graduate said: "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."

Career destinations

Examples of careers that you could enter include;

  • Software engineer/programmer
  • Web or app developer
  • Systems analyst and/or administrator
  • Databases administrator
  • Data scientist
  • Artificial intelligence developer

Course related costs

Please see Additional Course Fees for details of course-related costs.

Course Modules 2020/1

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. More importantly, it provides systematic training 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:

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


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, software testing strategies and techniques and version control.




This module introduces you to important aspects of databases, database manipulation and database management systems. The module is based on the relational model. You will explore the tools and methods for database design and manipulation as well as the programming of database applications. Part of the practical experience you will gain will be acquired using a modern relational database management system. You will also gain programming experience using SQL, and using a high level programming language to write applications that access the database.




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:

Name Code Credits


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 teach the R statistical language and to cover a range of topics in applied statistics, such as: Linear Regression.




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.




This module is designed for postgraduate students studying on MSc courses. 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 will gain knowledge of algorithms and methods for data analysis, as well as practical experience using leading KDD software packages.




This module will focus on the methods and techniques for delivering robust, maintainable and secure software. Students will learn about the importance of security when designing and developing software. The module will include a broad range of software security threats and vulnerabilities and methods of mitigating these issues. The module will cover ethical hacking, penetration testing and structured approaches to security testing.




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




In this module we will introduce the multifaceted topic of Ubiquitous Computing. You will learn about how computing power can be taken away from desktop computer setting and be applied anywhere. The module draws upon many other areas such as Signal Processing, Machine Learning, Human Computer Interaction, Internet of Things, Networks, and the#use of hardware such as microcontrollers, various sensors to create systems that#sense and interpret the outside world to help solve a wide range of problems.# These systems can be wearable devices, smartphone apps that use the phone's sensors, or bespoke devices that can be deployed in buildings, vehicles, urban and natural environments. This is project and coursework orientated module with an emphasis on developing your own ideas to gain the skills needed to take the power of computing to be everywhere.




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 Bachelors 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 5.5 in all components)
  • PTE (Pearson): 58 (minimum 42 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 the academic year 2020/21 are:

  • UK/EU Students: £7,850 (full time)
  • International Students: £16,400 (full time)

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


Living Expenses

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.

To apply please use our online application form.

Further Information

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