MSc Advanced 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)

Program your future, just the way you want it. Whether you’re an aspiring programmer, software engineer, data or computer scientist, this Master’s course is the ideal opportunity to set yourself apart from other graduates.   

Taking your BSc degree in computing science (or equivalent), you’ll broaden and deepen your knowledge to an advanced level – especially in research-led subjects such as advanced programming concepts, artificial intelligence, data mining, computer games and graphics and much more.

Your studies will culminate in an MSc research project on a topic of your choice – giving you the chance to showcase everything you’ve learnt and demonstrate your research ability. This heavy slant on research is perfect preparation for the job market once you graduate or for further research studies or posts.

Overview

From day one you’ll be immersed in the expertise of our world-leading research team who are working at the cutting edge of computing science.

You’ll study key core subjects including our flagship module Advanced Programming Concepts and Techniques. Your lectures for this important area will cover historical, established and upcoming programming languages, functional languages, assembly and intermediate languages, code optimisation, high performance computing, software testing and modern frameworks. The finale of this module will see you produce a prototype of a professional standard software product to tackle a real world problem. You’ll develop this in groups or individually, following industrial software engineering practice and guidelines.

Your compulsory Research Techniques module will help you master crucial skills such as writing scientific reports and analysing and critically reviewing scientific publications. You will also develop your ability to analyse and process big data resources using basic and advanced statistical methods.

It’s all brought to life in our specialist MSc lab with state of the art computers and high-end graphics cards. You will also be able to use our motion capture studio, 3D printer, 3D stereoscopic monitors, humanoid robots, haptic feedback devices and mainstream Virtual Reality (VR) hardware.

Thanks to our strong ties with the IT and computing industries, we are able to shape our course content and coursework projects based on current trends and real-world problems. This ensures that your experience is aligned with the industries that you may well be moving into after your course.

Course Structure

Our Master’s programme is made up of a series of advanced level modules to develop your skills and knowledge, as well as a dissertation, which gives you the chance to complete your own research project.

Your dissertation counts for 60 (out of a total of 180) credits and you can either choose a topic from a list of projects set by the academic staff or propose your own subject. Recent dissertation topics include:

  • Comparing the Unreal and Unity games engines by developing a first person shooter game.
  • Creating an augmented reality (AR) game on mobile devices.
  • Midi to tablature transcription.
  • Sentiment polarity classification of tweets using supervised models.
  • Reconstructing speech from articulatory data.

You have until mid to late August to complete the project, which will be assessed based on the dissertation itself and a demonstration of your final deliverable.

Your remaining 120 credits are made up of six 20-credit modules. Two of these are compulsory modules: Research Techniques and Advanced Programming Concepts and Techniques. You’ll then be able to select four optional modules from a range of topics including: artificial intelligence, human computer interaction, computer games laboratory, information visualisation, computer vision, audio-visual processing, embedded systems, data mining and more.

Teaching and Learning

Teaching

You’ll have an average of 15 hours of contact time per week with teaching staff through lectures, laboratory sessions and seminars – though this may vary depending on your module choices.

Most modules are taught mainly through lectures and laboratory sessions, led by our experienced lecturing staff. You’ll also benefit from your lab sessions being facilitated by postgraduate associate tutors who are experts in the specific subject.

Our class sizes are relatively small – ranging from 10-25 students – meaning that you’ll have more opportunities to engage directly with our academics.

Independent study

The very nature of a Master’s course means that you will spend a lot of time carrying out independent study. On top of your taught sessions, you’ll spend at least 25 hours a week on independent study, coursework assignments and projects.

Assessment

We’ll assess your work through coursework projects, course tests, scientific reports, a dissertation and exams.

If you take the Advanced Programming and Computer Games modules, your course tests will include short and multiple choice questions covering the syllabus along with hands-on programming tests where you’ll make modifications to sample code in a limited time frame.

We’ll always make sure to give you prompt feedback during laboratory sessions and after the final marking stages for all modules.

After the course

As a professional in this rapidly evolving sector, the ability to learn new skills is as important as what you know already. After successfully completing this Master’s you’ll be fully prepared for a highly paid, successful career, in which you’ll be continually learning and extending yourself.

The course is accredited by the British Computer Society (BCS), meaning it will open doors in the IT and computing industry for you. Careers include software engineering, web or app development, programming, systems analysis, data science, artificial intelligence development, academic/industrial research, entrepreneurial or teaching.

Career destinations

Examples of careers that you could enter include:

  • Web and software development
  • Applications programming
  • Software engineering
  • IT consultancy
  • Industries reliant on computing (eg finance, automotive, electronics, retail, government, police)
  • Research position in R&D department of a company or higher education

Course related costs

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

Accreditation

This course has been accredited by the British Computer Society for full CITP and partial CEng. Accreditation meaning that a candidate has fully or partially fulfilled the academic requirement for registration as a Chartered IT Professional (CITP) and Chartered or Incorporated Engineer (CEng / IEng) and / or a Chartered Scientist (CSci) and / or Registered IT Technician (RITTech).

The current period of accreditation is for a five year period, from the 2016 student cohort intake to the 2020 student cohort intake.

We would expect to apply for renewal of accreditation at the end of this period.

Course Modules 2018/9

Students must study the following modules for 100 credits:

Name Code Credits

ADVANCED PROGRAMMING CONCEPTS AND TECHNIQUES

You will cover advanced programming topics and state of the art software engineering concepts as part of medium to large software product development. More specifically, the following subjects are included: 1. Programming languages: Covering the vast array of programming languages, including older languages (both surviving and obsolete ones), current popular languages and new kids on the block. Different programming paradigms are discussed with code samples and applications to illustrate the underlying theoretical concepts. 2. Advanced software engineering including design patterns, modern iterative and incremental methods such as agile programming and software testing. 3. Program optimisation, parallel programming and high performance computing (HPC): Including underlying laws (Amdahl, Gustafson-Barsis), multi-threading, various languages and/or platforms, GPU programming (CUDA and OpenCL). 4. State of the art coverage of specific languages including C, F#, C#, C++11,14 etc. 5. Specific architectures such as Window's .NET/CLR, DLL programming, templates and type systems.

CMP-7009A

20

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 40 credits from the following modules:

Name Code Credits

ARTIFICIAL INTELLIGENCE

This module will introduce you to core techniques in Artificial Intelligence. Topics covered may include introduction to Prolog programming, state space representation and search algorithms, knowledge representation, expert systems, Bayesian networks, neural networks and deep learning.

CMP-7028A

20

COMPUTER GAMES LABORATORY

You will learn about advanced methodologies and technologies used in computer games programming, computer graphics and virtual reality (VR). You will be taught the module through seminars (some are delivered by experts from industry) and lab sessions. Seminars typically cover games related subjects such as game physics and artificial intelligence (AI), avatar animation and modelling, procedural content generation (PCG), augmented reality (AR), modelling natural phenomena (plants, trees, fluids), stereo viewing, haptic and force feedback, and motion capture. During lab sessions, you will develop a 3D game or simulation that, depending on previous experience, can be done using low level tools (e.g. C++ with OpenGL) or alternatively, established games engines such as Unity and Unreal.

CMP-7014B

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

HUMAN COMPUTER INTERACTION

Human Computer Interaction (or UX) covers a very wide range of devices, including conventional computers, mobile devices and "hidden" computing devices. In this module you will learn about interactions from a variety of perspectives, such as cognitive psychology, ethnographic methods, security issues, UI failures, the principles of good user experience, heuristic and experimental evaluation approaches and the needs of a range of different audiences.

CMP-7018A

20

Students will select 40 credits from the following 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

ARTIFICIAL INTELLIGENCE

This module will introduce you to core techniques in Artificial Intelligence. Topics covered may include introduction to Prolog programming, state space representation and search algorithms, knowledge representation, expert systems, Bayesian networks, neural networks and deep learning.

CMP-7028A

20

AUDIO AND VISUAL PROCESSING

This module explores how computers process audio and video signals. In the audio component, the focus is on understanding how humans produce speech and how this can be processed by computer for speech recognition and enhancement. Similarly, the visual component considers the human eye and camera, and how video is processed by computer. The theoretical material covered in lectures is reinforced with practical laboratory sessions. The module is coursework only and requires you to build a speech recogniser capable of recognising the names of students studying the module using both audio and visual speech information.

CMP-7016A

20

COMPUTER GAMES LABORATORY

You will learn about advanced methodologies and technologies used in computer games programming, computer graphics and virtual reality (VR). You will be taught the module through seminars (some are delivered by experts from industry) and lab sessions. Seminars typically cover games related subjects such as game physics and artificial intelligence (AI), avatar animation and modelling, procedural content generation (PCG), augmented reality (AR), modelling natural phenomena (plants, trees, fluids), stereo viewing, haptic and force feedback, and motion capture. During lab sessions, you will develop a 3D game or simulation that, depending on previous experience, can be done using low level tools (e.g. C++ with OpenGL) or alternatively, established games engines such as Unity and Unreal.

CMP-7014B

20

COMPUTER GRAPHICS

You are likely to enjoy this module if you have an interest in working in the games industry or in the development of real-time graphics applications. This module covers the fundamentals in 3D graphics including transformations, lighting, shading, texture mapping and collision detection. You will study the fundamentals of programming real-time 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.

CMP-7013A

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

HUMAN COMPUTER INTERACTION

Human Computer Interaction (or UX) covers a very wide range of devices, including conventional computers, mobile devices and "hidden" computing devices. In this module you will learn about interactions from a variety of perspectives, such as cognitive psychology, ethnographic methods, security issues, UI failures, the principles of good user experience, heuristic and experimental evaluation approaches and the needs of a range of different audiences.

CMP-7018A

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

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

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

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