MSc Computing Science

Article

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)

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.

Overview

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.

Assessment

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

Students must study the following modules for 80 credits:

Name Code Credits

DISSERTATION

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.

CMP-7027X

60

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:

Name Code Credits

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

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

INTERNET and MULTIMEDIA TECHNIQUES

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.

CMP-7003A

20

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

APPLIED STATISTICS

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.

CMP-7008B

20

COMPUTER VISION

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.

CMP-7026B

20

DATA MINING

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.

CMP-7023B

20

INFORMATION VISUALISATION

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.

CMP-7022B

20

INTRODUCTION TO CYBER SECURITY

This module will provide you with a broad understanding of the key topics and issues relating to cyber security. In the module we will use real-world examples and case studies to illustrate the importance of security. You will learn about a variety of cyber security topics including: the value of information and data, vulnerabilities and exploits, tools for defence and mitigation and the human elements of cyber security. Security is fast becoming an essential part of all aspects of our daily lives and this module will provide you with the fundamental skills and knowledge for working in a range of industries.

CMP-7033B

20

MACHINE LEARNING

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.

CMP-7031B

20

MODERN EMBEDDED TECHNOLOGY

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.

CMP-7029B

20

SOFTWARE ENGINEERING

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.

CMP-7032B

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

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

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.

 

Scholarships

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

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