BSc Computing Science (with Education)

Full Time
Degree of Bachelor of Science

UCAS Course Code
Call us now
0300 300 7994
UEA Clearing 0300 300 7994
Learn to program the future while you follow your interest in education. Prepare to excel in education and a range of computing fields, from the information systems of banks and businesses, to the creativity of gaming and web design, to AI, robotics, cloud computing, big data and lots, lots more.

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. You’re most likely passionate about the contribution computing can, and does, make to humanity, in everything from arts, culture and entertainment, to business, health, education, communications, and society as a whole. You avidly follow the exciting developments of the field in the press and on blogs.  

And you’re keen to share your passion and knowledge with others – maybe through teaching or science communications.


Study computing science whilst preparing for a rewarding career in education.

You will acquire a strong grounding in the theory of computing science, as well as gaining 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.  

The nature of the subject means students have a wide range of backgrounds in programming, education and mathematics. Whatever your experience, the course is flexible enough to ensure you’ll achieve the level of understanding at the end of year 1 that you need to master the material on the rest of the course.

You’ll tailor your computing modules to suit your strengths and interests, and complete an independent research project in both education and computing. You will also gain transferable skills that will help your long-term development, such as working in teams, project management and presenting ideas.

You’ll gain hands-on teaching experience with a guaranteed secondary school placement, and you’ll be able to select from a number of modules from UEA’s School of Education and Lifelong Learning to further develop your understanding of teaching.

This degree will prepare you for further study at Master’s level, a PGCE qualification, or teacher training through routes such as School-centred initial teacher training (SCITT). However you could also move into computing communication.

Course Structure

In this three-year degree programme you’ll start by mastering the core material underpinning computer science and education. Next, you’ll start to shape your degree by choosing optional modules. 

Year 1

You’ll get to grip with the fundamentals of computing science with an emphasis on programming. And you’ll study mathematical modules and learn how they’re relevant. You’ll also be able to get involved in extracurricular education and science communication activity.

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 do your work placement in a secondary school for the Education in Action module. Y ou will also be able to choose from a range of optional modules as you begin shaping your own curriculum.

Year 3

You’ll undertake two independent research projects – one in computer science and one in education. You will investigate your specialist areas in professional depth with one-to-one support from your academic supervisor. You will also select several optional modules that reflect UEA’s research interests and strengths.

Teaching and Learning


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 year project you will explore a topic or work on a problem in depth, under the supervision of a member of the faculty.


You’ll experience a wide range of assessment methods – including programming assignments, essays, class tests, problem sheets, laboratory reports, presentations and demonstrations. Which one 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.

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 your degree you will have the knowledge to forge an exciting career, continually learning and extending yourself.

In addition to the many computer science careers open to you, this degree will prepare you for a PGCE qualification or teacher training through routes such as School-centred initial teacher training (SCITT).

Career destinations

Examples of careers that you could enter:

  • Teacher
  • Software engineer
  • Web or app developer
  • Programmer
  • Systems analyst
  • Data scientist
  • Academic/industrial researcher
  • Artificial intelligence developer

Course related costs

In addition to the standard fees, you’ll be expected to cover the costs of travel to and from your work placement as part of the ‘Education in Action’ module. You will also need to pay for and complete a DBS check prior to commencing the course.

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

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.

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

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 is about gaining insights into the benefits of learning outside the classroom and developing an understanding about the possible activities which can be undertaken to enhance the learning and wellbeing of varying groups at various stages of development. You will undertake a range of fieldwork activities, led by those with experience in organising and leading educational visits and whilst doing this, develop skills which will enable you to make effective and informed decisions in organising your own educational visits. You will also organise and spend a day with a provider who runs educational visits to gain insights in to this industry. The learning objectives of this module are to: #Understand the terminology associated with outdoor learning, environmental education, educational visits and fieldwork; #Become familiar with aspects of the perceived curricular, social, affective and behavioural benefits of outdoor learning and educational visits; #Reflect upon the significance of prior experiences as starting points for fieldwork participation and reflection; #Understand how different fieldwork approaches can relate to learning outcomes; #Gain insights into the logistical and organisational arrangements associated with arranging educational visits; #Appreciate different methods of data collection associated with fieldwork tasks; #Gain a knowledge of issues and places through first-hand participation in fieldwork. By the end of this module you will be able to: #Identify and critically reflect upon evidence from informed, effective educational visits and fieldwork investigations; #Engage with professional educational visit providers to arrange appropriate fieldwork for your target audience; #Provide evidence based rationale for educational visits; #Identify and critique suitable locations based on a knowledge of risk assessment and logistics of fieldwork; #Effectively evaluate fieldwork approaches to the learning outcomes you identify. Assessment: Coursework 100%




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 60 credits:

Name Code Credits


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.






Students will select 60 credits from the following modules:

Students will select 60 credits from the following modules in Option Range A with the following caveats: 1. No more than 20 credits from Level 5 modules 2. Select no more than 2 modules from one semester

Name Code Credits


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.




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.




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




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




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.




This module will introduce you to key issues in mathematics education, particularly those that relate to the years of compulsory schooling. Specifically in this module we: Introduce the mathematics curriculum and pupils' perception of, and difficulties with, key mathematical concepts; Discuss public and popular culture perceptions of mathematics, mathematical ability and mathematicians as well as address ways in which these perceptions can be modified; Outline and discuss specific pedagogical actions (focused on challenge and motivation) that can be taken as early as possible during children's schooling and can provide a solid basis for pupils' understanding and appreciation of mathematics. By the end of the module you will be able to: Gain understanding of key curricular, pedagogical and social issues that relate to the teaching and learning of mathematics, a crucial subject area in the curriculum; Reflect on pedagogical action that aims to address those issues, particularly in the years of compulsory schooling; Be informed and able to consider the potential of pursuing a career in education, either as a teacher, educational professional or researcher in education with particular specialisation in the teaching and learning of mathematics. Assessment: Written Assignment 40% 3000 words Mini Project 60% 4500 words




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.




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.




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




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.




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




Aim: This module is designed to introduce students to the psychological process underpinning motivated behaviour in education settings. You will examine the role of the teacher in creating motivational climates for learning and assessing some of the key motivational challenges that may occur in educational settings. Learning Outcomes: a) Critically examine a range of intrapersonal, interpersonal and situational influences on motivation in education; b) Apply a range of motivational theories to understand motivated behaviour in education settings; c) Critically examine the role of the teacher in motivating students in educational settings; d) Understand how to overcome key motivational challenges, such as learned helplessness, self-handicapping, procrastination and disengagement in educational settings. Content: What is motivated behaviour?; outcomes of motivated behaviour (e.g. effort, persistence, task choice); motivation through feelings of competence, confidence and control; motivational theories(e.g. attribution theory, expectancy-value theory, achievement goal theory, self-determination theory); interest and value; motivational climates (e.g. TARGET and autonomy-supportive); effects of rewards on motivation; motivational challenges (self-handicapping, procrastination, disengagement, learned helplessness, perfectionism); social influences; teacher-pupil relationship.




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.




In taking this module you will learn about the issues and techniques involved in and maintaining industrial software development and evolution. You will learn about a range of advanced software engineering topics, such as: reverse engineering to understand legacy software, refactoring, design patterns to improve the design of software systems, using third party software components, designing secure systems, and design for maintainability. In the practical work for the module you will use a range of tools and techniques appropriate for developing contemporary industrial software. You will be developing your existing good programming and software engineering skills to prepare you for working with industrial software.




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.




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.




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
  • 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 BBB including either Mathematics, Computing, Physics, Electronics or Economics. All Science A-levels must include a pass in the practical element.
  • International Baccalaureate 31 points overall including HL5 in either Mathematics, Computing, Physics, Electronics or Economics.
  • Scottish Advanced Highers CCC including either Mathematics, Computing, Physics, Electronics or Economics.
  • Irish Leaving Certificate 2 subjects at H2 and 4 subjects at H3, including either Mathematics, Computing, Physics, Electronics or Economics.
  • Access Course Pass the Access to HE Diploma with Merit in 45 level 3 credits including 12 Level 3 credits in either Mathematics, Computing, Physics, Electronics or Economics.
  • BTEC DDM in an IT or Science based subject. Public Services is not accepted. A combination of BTEC and A level are considered - please contact us.
  • European Baccalaureate 70% overall with 70% in either Mathematics, Computing, Physics, Electronics or Economics.

Entry Requirement

GCSE Requirements: GCSE English Language grade C/4 and GCSE Mathematics grade B/5. 

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. Review our English Language Equivalences here.

INTO University of East Anglia 

If you do not yet meet the English language requirements for this course, INTO UEA 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.


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

Alternative Qualifications

We encourage you to apply if you have alternative qualifications equivalent to our stated entry requirements. 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

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

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