BSc 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 partially meeting the academic requirement for a Chartered Engineer.

Learn to program the future and 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 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, communications, and society as a whole. You avidly follow the exciting developments of the field in the press and on blogs, and you can’t wait to contribute your own ideas and creativity to this always-evolving sector.

Overview

This course will prepare you to work in the rapidly changing field of computing. 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, 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.

In core modules you will cultivate the essential skills of a computing professional, while in optional modules you’ll be able to sample some of the wide range of problems that arise in both research and industry. You will also gain transferable skills that will help your long-term development, such as working in teams, project management and presenting ideas.

This degree is accredited by the British Computer Society

Course Structure

In this three-year degree programme you’ll start by mastering the core material underpinning computer science. You’ll also explore the areas of computing science that most spark your interest by choosing from a range of fascinating 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’ll be 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

You’ll undertake an independent research project investigating a specialist area in more depth with one-to-one support from your academic supervisor. You will also select several optional modules from a range that reflect the School’s research interests and strengths.

All of our computer science courses follow an identical structure in the first two years. This means that you can easily transfer between them if you decide you want to incorporate a year abroad, a year in industry or continue on to Master’s level learning.

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

Assessment

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.

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

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.

You could go on to work as a software engineer, web or app developer, programmer, systems analyst, data scientist, artificial intelligence developer, academic/industrial researcher, entrepreneur, teacher or even researcher.

Career destinations

Examples of careers that you could enter include;

  • Teacher
  • Software engineer
  • Web or app developer
  • Programmer
  • Systems analyst
  • Data scientist
  • Academic/industrial researcher
  • 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 2019/0

Students must study the following modules for 100 credits:

Name Code Credits

COMPUTING PRINCIPLES

The module introduces 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

In taking this module you will gain a solid grounding in the essential features of object-oriented programming, using a modern programming language such as Java. The module is designed such that you are not expected to have previously studied programming, although it is recognized that many students taking the module will have done so in some measure.

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 students to hone their 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 students who have not studied A level Mathematics with sufficient understanding of basic algebra to give them 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 the student 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 CMP-4008Y. 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++ in semester 2 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. Students will gain an understanding of the issues involved in designing and creating software systems from an industry perspective. They 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

Students will select 20 credits from the following modules:

Name Code Credits

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

ARTIFICIAL INTELLIGENCE

This module introduces 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-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

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

INTRODUCTION TO CYBER SECURITY

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

CMP-6044B

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 you will be 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

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

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

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 BBB or ABC including one A level in Mathematics, Computing Science , Physics, Electronics or Economics or BBC including one A level in Mathematics, Computing Science, Physics, Electronics or Economics with an A in the Extended Project
  • International Baccalaureate 31 points including HL 5 in either Mathematics, Computing Science, Physics or Economics
  • Scottish Highers AABBB including either Mathematics, Computing Science, Physics, Electronics or Economics
  • Scottish Advanced Highers CCC including either Mathematics, Computing Science, Physics, Electronics or Economics
  • Irish Leaving Certificate 2 subjects at H2 and 4 subjects at H3 including either Mathematics, Computing Science, Physics, Electronics or Economics
  • Access Course Pass the Access to HE Diploma with Merit in 45 credits at Level 3 including 12 credits in either Mathematics, Computing Science, Physics, Electronics or Economics
  • BTEC DDM acceptable in an IT or Science-based subject. Excludes Public Services on its own
  • European Baccalaureate 70% overall including 70% in either Mathematics, Computing Science, Physics 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.

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

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

Please complete our Online Enquiry Form to request a prospectus and to be kept up to date with news and events at the University. 

Tel: +44 (0)1603 591515

Email: admissions@uea.ac.uk

    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