MComp Computing Science

Video

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

Video

New Building for Science and Engineering - Due to open in July 2019. Take an animated tour of our new £31 million state-of-the-art teaching and learning building on the UEA campus.

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

Learn to program the future. Prepare to excel in a range of computing fields, from the information systems of banks and businesses, to the creativity of gaming and web design, to artificial intelligence (AI). You’ll also explore machine learning, computer vision, graphics, computational biology, data science and speech processing, as well as software and systems engineering.

This course is ideal if you’re a digital native who already lives and breathes computing, whether it’s through coding your own apps and websites, designing your own games, or building your own hardware.

Our students have a wide range of prior experience, with most being competent programmers who understand the underlying principles of the subject and can adopt a logical, systematic approach to developing solutions for real world problems.

Overview

This four-year degree will give you the chance to study your subject in true depth, preparing you for an exciting career working with the rapidly changing technology of computing.

Our students have a range of programming and mathematical backgrounds, so the course is structured to enable you to achieve the same level of understanding across the fundamental areas of the subject by the end of your first year.

We emphasise the importance of practical skills, and our core modules will help you develop the skills essential to a career as a computing professional, while our optional modules will allow you to get to grips with the wide range of questions that arise in both research and industry.

During your four years you will acquire a strong grounding in the theory of computing science, as well as experience and skills in software engineering and problem solving. You will become a competent programmer in a range of modern general purpose languages such as Java, Python, C and C++. You’ll explore the underlying principles of the subject and learn to adopt a logical, systematic approach to developing solutions to real-world problems. You’ll also benefit from our particular expertise in artificial intelligence (AI), machine learning, computer vision, graphics, computational biology, data science and speech processing, as well as software engineering and systems engineering. 

In your fourth year, you will study at Master’s level to deepen your knowledge and specialise in the areas that interest you most. You’ll explore more advanced computing subjects and strengthen your research and analysis skills.

This degree is accredited by the British Computer Society.

Course Structure

You will follow the BSc programme structure for your first three years, gaining a solid foundation in programming, problem solving, and relevant mathematics and computing theory. You will then develop these themes further through core study in advanced programming, software engineering, data structures, algorithms, and operating systems and architectures. And from year two onwards, you’ll be able to focus on the areas of the subject that interest you most.

Our common course structure also means that it’s possible to transfer between our BSc Computing Science, BSc Computing Science with a Year in Industry, and the MComp in Computing Science with a Year Abroad courses. So if, for any reason, you decide not to continue to year four, you can transfer to the BSc course at any point in your first three years.

Year 1

You’ll get to grips with the fundamentals of computing science with an emphasis on programming. And you’ll study mathematical modules, learning how they’ll prove relevant to your future career.

Year 2

In your second year you’ll learn how computers and operating systems work, how to model and manipulate data and how to use advanced programming concepts. You’ll also work in a team to engineer large-scale solutions to problems.Alongside this, you’ll start to shape your own curriculum with a choice of optional modules.

Year 3

Your third year will give you the opportunity to focus on specific areas of computer science through a piece of independent research. You’ll also have a range of optional modules to choose from, all of which represent the School’s current research and strengths.

Year 4

In your final year, you’ll undertake a large project with either a research group or industrial partner, supervised by a member of the faculty.  Additionally, you will study advanced programming concepts and techniques and various advanced computing subjects of your choice, to both deepen and broaden your knowledge in modern day state of the art computing science.

Teaching and Learning

Teaching

You’ll learn through a mixture of lectures, seminars and lab classes – where the lab and seminar classes reinforce and expand on the lecture material.

We use a variety of programming languages depending on the devices and application areas we’re focusing on. Importantly, you’ll be working with the software development tools and practices used in the industry right now, building your experience in each year. Upon graduation you’ll have the technical ability to develop high quality software for a range of platforms.

Independent study

Alongside your formal learning, you’ll study independently to gain a deeper appreciation of specialist topics. In your final two years you’ll work on two large projects, which will involve developing high quality solutions (including working software) to real problems – a skill that is highly valued by employers.

Your first will be an individual project, where you will explore a topic or work on a problem in depth, under the supervision of a member of the faculty.

Then in your final year you will have the opportunity to participate in a group or partner project, typically based in one of the School's research groups or with an industrial partner.

Assessment

We’ll use a wide range of methods to assess your learning – including programming assignments, essays, class tests, problem sheets, laboratory reports, presentations and demonstrations. The method we choose will depend on the module content and learning objectives. You’ll find that most modules are assessed through a mixture of coursework and exams, while some are entirely assessed by coursework.

In your final year, you will be assessed particularly on your understanding and how you integrate knowledge from different areas of the subject.

Optional Study abroad or Placement Year

We also offer a BSc Computer Science with a Year in Industry if you are interested in spending a year in an industrial placement.

You may also be interested in our MComp Computing Science with a Year Abroad if you are interested in undertaking a year overseas.

After the course

On graduation you’ll be perfectly placed for a range of roles related to computer science – particularly in the technology, finance and creative sectors, which require technical expertise along with adaptability and openness.

Your Master’s qualification will give you insight into the nature of research, and an distinct advantage over candidates with a BSc, for positions requiring a higher degree of technical competence. In fact our Master’s course is ideal preparation for a career in either academic or industrial research.

Our programme also embeds transferable skills such as team working, project management and idea presentation.

Career destinations

Examples of careers that you could enter include;

  • Software engineer
  • Web developer
  • Programmer
  • Systems analyst
  • Data analyst
  • Artificial intelligence developer

Course related costs

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

Accreditation

This course has been accredited by the British Computer Society for full CITP and partial CEng. Accreditation means 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

COMPUTING PRINCIPLES

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

CMP-4002B

20

DATABASE SYSTEMS

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.

CMP-4010B

20

PROGRAMMING 1

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.

CMP-4008Y

20

SYSTEMS DEVELOPMENT

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.

CMP-4013A

20

WEB-BASED PROGRAMMING

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.

CMP-4011A

20

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.

Name Code Credits

MATHEMATICS FOR COMPUTING A

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.

CMP-4004Y

20

MATHEMATICS FOR COMPUTING B

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.

CMP-4005Y

20

Students must study the following modules for 80 credits:

Name Code Credits

ARCHITECTURES AND OPERATING SYSTEMS

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.

CMP-5013A

20

DATA STRUCTURES AND ALGORITHMS

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.

CMP-5014Y

20

PROGRAMMING 2

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.

CMP-5015Y

20

SOFTWARE ENGINEERING 1

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.

CMP-5012B

20

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

ANALOGUE AND DIGITAL ELECTRONICS

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

CMP-5027A

20

FURTHER MATHEMATICS

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.

CMP-5006A

20

INFORMATION RETRIEVAL

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.

CMP-5036A

20

SYSTEMS ANALYSIS

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.

CMP-5003A

20

Students will select 20 credits from the following modules:

Name Code Credits

APPLIED STATISTICS A

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.

CMP-5017B

20

GRAPHICS 1

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.

CMP-5010B

20

NETWORKS

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.

CMP-5037B

20

Students must study the following modules for 40 credits:

Name Code Credits

COMPUTING PROJECT

This module will give you experience of independent project work through the development of research and application involving a significant amount of computing science knowledge and skills, for example, in design/implementation of algorithms, software, or hardware systems. It will also provide, via the lecture programme, a primer on the law, ethical and professional behaviour, project management, reporting and other aspects of being a computer scientist. You will be allocated a supervisor and will be expected to work closely with him or her on a mutually agreed project.

CMP-6013Y

40

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

Students will select 40 credits from the following modules in Option Range A, or 20 credits from Option Range A and 20 credits from Option Range C. Students selecting from Option Range C cannot also select from Option Range D.

Name Code Credits

ADVANCED STATISTICS

This module covers two topics in statistical theory: Linear and Generalised Linear models and also includes Stochastic processes. The first two topics consider both the theory and practice of statistical model fitting and students will be expected to analyse real data using R. Stochastic processes including the random walk, Markov chains, Poisson processes, and birth and death processes.

CMP-6004A

20

ARTIFICIAL INTELLIGENCE

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

CMP-6040A

20

AUDIOVISUAL 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-6026A

20

GRAPHICS 2

Explore the fundamentals of 3D geometric transformations and viewing using OpenGL and learn the theory and implementation of fundamental visibility determination algorithms and techniques for lighting, shading and anti-aliasing. You'll study 3D curves and fundamental geometric data structures, as well as considering the issues involved with modern high performance graphics processors.

CMP-6006A

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

20

SOFTWARE ENGINEERING 2

This module will focus on the methods and techniques for delivering robust, maintainable and secure software. You will learn about the importance of security when designing and developing software, as well as a range of methods and techniques for working collaboratively to create effective software solutions. The practical work will provide you with the opportunity to design, develop, test and critique a function piece of software. You will be developing skills and experiences that are essential to work effectively in industry.

CMP-6010A

20

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

Students will select 40 credits from the following modules in Option Range B, or 20 credits from Option Range B and 20 credits from Option Range D. Students selecting from Option Range D cannot also select from Option Range C.

Name Code Credits

ALGORITHMS FOR BIOINFORMATICS

A brief introduction to the basics of molecular biology will be given, and so no background in biology is required. Topics will include sequence analysis, RNA and protein structure, genome assembly and phylogenetics. Lecturers will highlight the relevance of the material to cutting-edge research and in applications such as understanding human diseases, developing new drugs, improving crop plants, and uncovering the origins of species. Emphasis will be focused on the fundamental algorithms that are used in each of these areas.

CMP-6034B

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

20

EMBEDDED SYSTEMS

Embedded processors are at the core of a huge range of products e.g. mobile telephones, cameras, passenger cars, washing machines, DVD players, medical equipment, etc. The embedded market is currently estimated to be worth around 100x the 'desktop' market and is projected to grow exponentially over the next decade. This module will help you to build on the material delivered in the Architectures and Operating Systems module to 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 eLinux.

CMP-6024B

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

20

SYSTEMS ENGINEERING

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

CMP-6003B

20

Students will select 0 - 20 credits from the following modules:

Students MAY select up to 20 credits from either Option Range C or Option Range D. Students should contact the appropriate module organiser to check prerequisites if they wish to choose a module outside of CMP.

Name Code Credits

ANALOGUE AND DIGITAL ELECTRONICS

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

CMP-5027A

20

INFORMATION RETRIEVAL

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.

CMP-5036A

20

INTERNET LAW

Internet law is a cross-cutting area of law for today's multinational and innovative environment, particularly relevant in industries like electronic commerce, information technology, and the media. You will cover topics including data protection and privacy, cybercrime, contracts, domain names, the control of content and the resolution of disputes. You will explore the application of law across traditional categories and are encouraged to reflect on the role of a national legal system in an interconnected world. Teaching will include some online elements as well as lectures and seminars.

LAW-6001A

20

SYSTEMS ANALYSIS

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.

CMP-5003A

20

Students will select 0 - 20 credits from the following modules:

Students MAY select up to 20 credits from either Option Range C or Option Range D. Students should contact the appropriate module organiser to check prerequisites if they wish to choose a module outside of CMP.

Name Code Credits

APPLIED STATISTICS A

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.

CMP-5017B

20

ELECTRICITY GENERATION AND DISTRIBUTION

This module is highly practical and will allow you to study how electricity is generated and how it is distributed to users. The first part studies DC and AC electricity and looks at how RLC circuits behave through complex phasor analysis. The second part will give you the chance to study electricity generators, beginning with magnetism and Faraday's Law. Synchronous and asynchronous generators are studied along with application to conventional power stations and to renewable generation (e.g. wind). You'll also look at transformers and transmission lines with a view to distribution of electricity. Voltage conversion methods such as the rectifier, buck and boost converters are examined and finally electricity generation through solar is covered. Your lab classes will build on material from lectures which in turn forms the basis for coursework.

ENG-6001B

20

GRAPHICS 1

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.

CMP-5010B

20

NETWORKS

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.

CMP-5037B

20

Students must study the following modules for 60 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

MCOMP PROJECT

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.

CMP-7024Y

40

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

Name Code Credits

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

Students will select 0 - 20 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 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

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

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

  • 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
  • OPENING IN SUMMER 2019

    Discover our new building for the next generation of Scientists and Engineers.

    Read it OPENING IN SUMMER 2019
  • Ask a Student

    This is your chance to ask UEA's students about UEA, university life, Norwich and anything else you would like an answer to.

    Read it Ask a Student
  • University Taster Events

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

    Read it University Taster Events
  • Hear from our students

    Find out what it’s like to be a part of the School of Computing Sciences at UEA.

    Read it Hear from our students

Entry Requirements

  • A Level ABB including one A level in Mathematics, Computing Science, Physics, Electronics or Economics or BBB including one A level in Mathematics, Computing Science, Physics, Electronics or Economics with an A in the Extended Project
  • International Baccalaureate 32 points including HL 5 in either Mathematics, Computing Science, Physics or Economics
  • Scottish Highers AAABB including either Mathematics, Computing Science, Physics, Electronics or Economics
  • Scottish Advanced Highers BCC including either Mathematics, Computing Science, Physics, Electronics or Economics
  • Irish Leaving Certificate 3 subjects at H2, 3 subjects at H3 including either Mathematics, Computing Science, Physics, Electronics or Economics
  • Access Course Pass the Access to HE Diploma with Distinction in 30 credits at Level 3 and Merit in 15 credits at Level 3, including 12 credits in Mathematics, Computing, Physics, Electronics or Economics
  • BTEC DDM acceptable in an IT or Science-based subject. Excludes Public Services on its own
  • European Baccalaureate 75% overall including 70% in either Mathematics, Computing Science, Physics, Electronics or Economics

Entry Requirement

Science A-levels must include a pass in the practical element.

A-Level General Studies and Critical Thinking are not accepted.

You are required to have English Language at a minimum of Grade C/4 and Mathematics at Grade B/5 at GCSE.


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 writing, speaking, listening and reading):

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

We also accept a number of other English language tests. Please click here to see our full list.

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:

 

Interviews

The majority of candidates will not be called for an interview and a decision will be made via UCAS Track. However, for some students an interview will be requested. You may be called for an interview to help the School of Study, and you, understand if the course is the right choice for you.  The interview will cover topics such as your current studies, reasons for choosing the course and your personal interests and extra-curricular activities.  Where an interview is required the Admissions Service will contact you directly to arrange a convenient time.

Gap Year

We welcome applications from students who have already taken or intend to take a gap year.  We believe 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 to contact admissions@uea.ac.uk directly to discuss this further.

Special Entry Requirements


 

Intakes

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

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

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