MComp Computing Science with a Year Abroad


The School of Computing Sciences is one of the largest and most experienced computing schools in the UK, expertly blending excellent teaching, research, facilities and exciting course modules to offer a dynamic programme targeted at the job market.

Watch It


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)

Key facts

This course fully meets the academic requirement for registration as a Chartered IT Professional and a Chartered Engineer.

Accredited by the Charted Institute for IT, this four-year course offers advanced study of computing science, preparing you for further study or a successful career. Our research-led teaching and fantastic facilities ensure you will learn in the most up-to-date environment and the year abroad – in either Australasia or North America – will also allow you to broaden your personal horizons and gain a new perspective on your subject.

You’ll study core computing subjects alongside topics like embedded systems, computer vision and machine learning, with a combination of optional modules that are suited to your interests.

We are one of the most experienced schools of Computing Sciences in the UK, with 100% of our research categorised as internationally recognised (REF 2014).


The MComp in Computing Science prepares you for a career working with rapidly changing technology, giving you a thorough understanding of the theory and practice of computing science. Alongside this you will also be able to spend your third year of study at a University in either North America or Australasia. This element of the course provides you with a fantastic opportunity to experience other cultures, alongside studying in a department where different aspects of computing sciences are taught, broadening your academic horizons.

This four-year course allows significantly greater depth of study than is possible in a three-year degree. The first two years follow a similar structure to the BSc Computing Science and you will study a range of computing subjects, however you will have access to more advanced modules in your third and final years. In these final years you will undertake both individual and group projects, and study subjects at both undergraduate and Master's levels that relate to your interests and career aspirations.

As with all our degrees, flexibility is important and course modules can be chosen according to your interests, creating a personalised learning programme unique to you. Our varied choice of modules reflects the interdisciplinary nature of computing.

The fourth year of your degree allows you to explore more advanced computing subjects, strengthening your research and analysis skills, which are essential if you wished to pursue a successful technical career in industry. The degree has been accredited by the British Computer Society (BCS, The Chartered Institute for IT ) which provides an external validation to ensure that the content of the degree is up to date and is organised and taught professionally.

Course Structure

This four year degree programme follows a similar structure to the BSc Computing Science course for the first two years, studying core material underpinning computer science. The third year of study will take place abroad with one of our university exchange partners in either North America or Australasia. In the fourth year of the course you will be able to structure your degree from a wide range of computing science modules, as well undertaking a major independent project in the final year of study.

Year 1

During your first year you will undertake compulsory modules which introduce you to the fundamentals of computing science. You will also undertake relevant mathematical modules.

Year 2

In the second year you will encounter state-of-the-art computing subjects, including software engineering, data structures and algorithms and theoretical computing.  You will also be able to study modules taken from a list of optional subjects so you can begin shaping your own curriculum.

Year 3 (Year Abroad)

Your third year will be spent studying and living abroad with one of our university exchange partners. You will take a range of modules comparable to those taken by third year Computing Science students at the UEA; however you will also be able to take a number of modules that reflect the particular interests of the institution that you are visiting.

Year 4

Your final year of study is distinctive (as part of a four year course programme) because you will have the opportunity to apply all the research techniques you will have gained over the last three years in order to complete a significant independent research project. You will also have the opportunity to select advanced modules that complement your area of research.


A variety of assessment methods are used across the modules. Your coursework will be assessed in a variety of ways, including programming assignments, essays, written discussions, class tests, problem sheets, laboratory reports, and seminar presentations.

In many modules, assessment is weighted 60% examination and 40% coursework, whilst some practical based modules are assessed entirely by coursework. In the final year, you will be assessed particularly on your understanding and how you integrate knowledge from different areas of the discipline.

Study Abroad

Students on relevant BSc degrees spend their second year at a university abroad, while students on relevant MComp degrees spend their third year abroad. The year abroad counts towards your degree classification and so adds no extra year to the length of your course. You can choose the university that you want to study at from a range of universities in the USA, Canada and Australasia.

Students on an exchange programme will be expected to pay 15% of their annual tuition fee to UEA during their year abroad and we will pay the overseas university.

Course Modules 2018/9

Students must study the following modules for 100 credits:

Name Code Credits


The module introduces you to the formulations and techniques essential for any degree in computing science.




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




Gain a solid grounding in the essential features of object-oriented programming, using a modern programming language such as Java. This module is designed in such a way that you are not expected to have previously studied programming, although it's recognised that many students taking the module will have done so to some extent.




The complexity of Computer Based Systems, appropriate development approaches, and their inherent activities will be discussed using case studies and guest speakers where appropriate. Emphasis will be placed on the processes involved with systems requirements, creative designs, and careful development, in a professional manner, ensuring that issues such as project management, safety, security and data protection are taken into account. The module will include a number of modelling techniques to support the systems development process. These will be put into practise during the group exercise that will run throughout the semester. There are also opportunities for you to hone your transferable skills through literature searching, report writing, seminar discussions and presentations.




In this module you will be introduced to some of the tools used for web development. You will then build a substantial dynamic web site using HTML, CSS, Javascript and a high level language. An understanding of the underlying mechanisms of the technologies used in the Internet and World Wide Web is essential for any computing science student. Therefore, in the latter part of the module you will learn about these technologies and undertake a practical approach to exploring them. You will learn about issues of information systems security at all stages but also in dedicated sessions. In the final element of the module you will study multi-media issues in web based systems.



Students will select 20 credits from the following modules:

Students will be advised as to which of CMP-4004Y and CMP-4005Y is most appropriate for their course of study. Students will select 20 credits from the following modules:

Name Code Credits


The module is designed to provide you with sufficient understanding of basic algebra, if you have not studied A Level Mathematics. it will give you confidence to embark on the study of computing fundamentals. Various topics in discrete and continuous mathematics which are fundamental to Computer Science will be introduced to you.




This module is designed for you if you have an A level (or equivalent) in Mathematics. It will provide you with an introduction to the mathematics of counting and arrangements, a further development of the theory and practice of calculus, an introduction to linear algebra and its computing applications and a further development of the principles and computing applications of probability theory. In addition, 3D Vectors are introduced and complex numbers are studied.



Students must study the following modules for 80 credits:

Name Code Credits


Study the organisation of system software and the underlying hardware architecture in modern computer systems. The role of concurrent operation of hardware and software components is emphasised throughout this module. Central concepts are reinforced by practical work in the laboratory. The architectures portion of the module focuses on the components of a processor, including the registers and data path, and you will explore concepts such as instruction fetch cycles, instruction decoding and memory addressing modes. The operating systems component focuses on how the system software manages the competing demands for the system hardware, including memory management and disc and processing scheduling.




The purpose of this module is to give you a solid grounding in the design, analysis and implementation of algorithms, and in the efficient implementation of a wide range of important data structures.




This is a compulsory module for all computing students and is a continuation of the Programming 1 module. It contains greater breadth and depth and provides students with the range of skills needed for many of their subsequent modules. We introduce C in order to improve your low level understanding of how programming works. We recap Java and deepen your understanding of the language by teaching topics such as nested classes, enumeration, generics, reflection, collections and threaded programming. We cover C++ and conclude by introducing C# to highlight the similarities and differences between languages.




Software Engineering is one of the most essential skills for work in the software development industry. You will gain an understanding of the issues involved in designing and creating software systems from an industry perspective. You will be taught state of the art phased software development methodologies focusing on the activities of initial class model design to actual operational software systems. These activities are complemented with an introduction into software project management and development facilitation.



Students will select 20 credits from the following modules:

Students may not select FURTHER MATHEMATICS if they have taken MATHEMATICS FOR COMPUTING B in year 1.

Name Code Credits


A practical introduction to electronics, this module is structured to consider analogue electronics and digital electronics in turn. Topics you'll cover include passive and active components, including op-amps, transistors, logic gates, flip-flops and registers. Circuits you'll study include amplifiers, oscillators, modulators, combinational and sequential logic and state machines. You'll spend much of your time doing practical work - underpinned by lectures - where you will build prototypes circuits, as well as designing and building Printed Circuit Boards (PCBs).




Further Mathematics will provide you with an introduction to the mathematics of counting and arrangements, a further development of the theory and practice of calculus, an introduction to linear algebra and its computing applications, and a further development of the principles and computing applications of probability theory. 3D Vectors and complex numbers are also studied. If you have taken Mathematics for Computing A or equivalent, this module is for you.




In this module you will learn about the development of the technologies which are the basis of search on the Web. Search engine development has been driven by large increases in online documents and the need to provide better results. You will learn about a range of techniques for improving search results and how to evaluate their impact.




This module considers various activities associated with the development of computer based systems including business strategy, project management, feasibility, investigation methods, stakeholder management, analysis, the links to design and implementation, and managing change. Its main focus, however, is on the early stages, in particular requirements investigation and specification including the use of UML. It makes use of a number of analysis and design techniques in order to produce readable system specifications. Students are introduced to a number of development methods including object orientated, soft systems, structured, participative, and agile approaches.



Students will select 20 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 3 topics: Linear regression, and Survival Analysis.




This module will provide you with an introduction to the fundamentals of computer graphics. You will gain a strong foundation in computer graphics, focusing on 2D graphics, algorithms and interaction. You need to have a good background in programming to take this module. OpenGL is used as the graphics API with examples provided in the lectures and supported in the laboratory classes.




Explore how networks are designed and implemented to provide reliable data transmission. You'll take a layered approach to the study of networks, with emphasis on the functionality of the OSI 7 layer reference model and the TCP/IP model. You'll examine the functionality provided by each layer and how this contributes to overall reliable data transmission that the network provides, with a focus on the practical issues associated with networking such as real-time delivery of multimedia information (e.g. VoIP) and network security. Labs and coursework are highly practical and underpin the theory learnt in lectures.



Students must study the following modules for 120 credits:

Name Code Credits


Candidates on this module undertake an Autumn Semester of approved study at an overseas University. The mark for this module is the overall mark for the semester spent abroad.




Candidates on this module undertake an Autumn Semester of approved study at an overseas University. This module will normally form part of a year-long programme by undertaking it in conjunction with Level 3 Study Abroad Programme 1,3,4,5 and 6.




Candidates on this module undertake an Autumn Semester of approved study at an overseas University. This module will normally form part of a year-long programme by undertaking it in conjunction with Level 3 Study Abroad Programme 1,2,4,5 and 6.




Candidates on this module undertake a Spring Semester of approved study at an overseas University.




Candidates on this module undertake a Spring Semester of approved study at an overseas University. This module will normally form part of a year-long programme by undertaking it in conjunction with Level 3 Study Abroad Programme 1,2,3,4 and 6.




Candidates on this module undertake a Spring Semester of approved study at an overseas University. This module will normally form part of a year-long programme by undertaking it in conjunction with Level 3 Study Abroad Programme 1,2,3,4 and 5.



Students must study the following modules for 60 credits:

Name Code Credits


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.




This module is motivated by the need to simulate real project work. You will work in a group on a problem that is either taken from an active research group within the University or from a real problem in industry or in commerce.



Students will select 40 - 60 credits from the following modules:

Name Code Credits


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.




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.




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 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 0 - 20 credits from the following 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.




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.




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.




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.




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




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

  • UEA Award

    Develop your skills, build a strong CV and focus your extra-curricular activities while studying with our employer-valued UEA award.

    Read it UEA Award
  • University Taster Events

    Come to one of our taster events and experience university life for yourself. Book now.

    Read it University Taster Events

Entry Requirements

  • A Level AAB including Mathematics. All science A levels must include a pass in the practical element
  • International Baccalaureate 33 points including HL Mathematics at 6 and one other HL subject at 6. If no GCSE equivalent is held, offer will include Mathematics and English requirements.
  • Scottish Highers Only acceptable in combination with Advanced Highers
  • Scottish Advanced Highers BBC including Mathematics. A combination of Advanced Highers and Highers might be acceptable
  • Irish Leaving Certificate AAAABB or four subjects at H1 and two subjects at H2, including Mathematics
  • Access Course Pass the Access to HE Diploma with Distinction in 36 credits at Level 3 and Merit in 9 credits at Level 3, including 12 Level 3 credits in Mathematics. Science pathway required,
  • European Baccalaureate Overall 80% including 70% in Mathematics

Entry Requirement

GCSE Requirements: GCSE English Language grade 4 and GCSE Mathematics grade 5. GCSE Mathematics grade 4 accepted if Mathematics is taken to A2 level. 

General Studies and Critical Thinking are not accepted.

UEA recognises that some students take a mixture of International Baccalaureate IB or International Baccalaureate Career-related Programme IBCP study rather than the full diploma, taking Higher levels in addition to A levels and/or BTEC qualifications. At UEA we do consider a combination of qualifications for entry, provided a minimum of three qualifications are taken at a higher Level. In addition some degree programmes require specific subjects at a higher level.

Students for whom English is a Foreign language

We welcome applications from students from all academic backgrounds. We require evidence of proficiency in English (including speaking, listening, reading and writing) at the following level:

  • IELTS: 6.5 overall (minimum 6.0 in any component)

We will also accept a number of other English language qualifications. Please click here for further information.

INTO University of East Anglia 

If you do not meet the academic and/or English language requirements for this course, our partner INTO UEA offers guaranteed progression on to this undergraduate degree upon successful completion of a foundation programme. Depending on your interests and your qualifications you can take a variety of routes to this degree:

INTO UEA also offer a variety of English language programmes which are designed to help you develop the English skills necessary for successful undergraduate study:



The majority of candidates will not be called for an interview. However, for some students an interview will be requested. These are normally quite informal and generally cover topics such as your current studies, reasons for choosing the course and your personal interests and extra-curricular activities.

Gap Year

We welcome applications from students who have already taken or intend to take a gap year, believing that a year between school and university can be of substantial benefit. You are advised to indicate your reason for wishing to defer entry and may wish to contact the appropriate Admissions Office directly to discuss this further.

Special Entry Requirements

GCSE grade 5 required in language of instruction for the year abroad


The School's annual intake is in September of each year. 

Alternative Qualifications

We encourage you to apply if you have alternative qualifications equivalent to our stated entry requirement. Please contact us for further information.

Fees and Funding

Undergraduate University Fees and Financial Support

Tuition Fees

Information on tuition fees can be found here:

UK students

EU Students

Overseas Students

Scholarships and Bursaries

We are committed to ensuring that costs do not act as a barrier to those aspiring to come to a world leading university and have developed a funding package to reward those with excellent qualifications and assist those from lower income backgrounds. 

The University of East Anglia offers a range of Scholarships; please click the link for eligibility, details of how to apply and closing dates.

How to Apply

How to Apply

Applications need to be made via the Universities Colleges and Admissions Services (UCAS), using the UCAS Apply option.

UCAS Apply is a secure online application system that allows you to apply for full-time Undergraduate courses at universities and colleges in the United Kingdom. It is made up of different sections that you need to complete. Your application does not have to be completed all at once. The system allows you to leave a section partially completed so you can return to it later and add to or edit any information you have entered. Once your application is complete, it must be sent to UCAS so that they can process it and send it to your chosen universities and colleges.

The UCAS code name and number for the University of East Anglia is EANGL E14.

Further Information

If you would like to discuss your individual circumstances with the Admissions Office prior to applying please do contact us:

Undergraduate Admissions Office

Tel: +44 (0)1603 591515

Sign up for myUEA to...

  • request a copy of our latest prospectus and subject brochures
  • get access to exclusive information personalised to your interests
  • keep up to date with news and events at UEA.

International candidates are also actively encouraged to access the University's International webpages.

    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