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

Article

Computer Scientists have developed a new programme that will unearth the missing links in our planet’s past.

Read It

Key facts

(2014 Research Excellence Framework)

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.

Accredited by the Charted Institute for IT, this degree prepares you for a career in the rapidly changing field of computing. Our research-led approach to teaching and fantastic facilities ensure you will learn in the most up-to-date environment and graduate with great career prospects.

This course provides you with the opportunity to study core computing science subjects alongside more specialist subject areas such as embedded systems, computer vision and machine learning. You can choose a specific combination of optional subjects that are most suited to your interests and career plans. The majority of learning will take place in laboratories, lectures, seminars and group projects.

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

Overview

The BSc Computing Science degree programme prepares you for a career working with rapidly changing technology, giving you a thorough understanding of the theory and practice of computing science.

The degree programme is designed to offer a broad selection of modules reflecting the interdisciplinary nature of computing. Modules are chosen according to your preferences, which creates a unique and personalised academic experience. You will have the opportunity to engage with a wide range of computing subjects, from artificial intelligence to embedded systems.

Furthermore, upon completing your first year of study, you will have the option to transfer to one of the more specific degree programmes within the School of Computing Sciences if you find your academic interests have become more specialised.

Course Structure

This three year degree programme begins by introducing students to the core material that underpins computer science in the first year. The course then allows you to structure your degree from a wide range of computing science subjects in the second and third years.

Year 1

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

Year 2

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

Year 3

Your final year of study gives you the opportunity to study specific areas of computing science in greater depth through a substantial independent computing project. You will also select several optional modules allowing you to tailor your studies according to your own interests.

Assessment

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

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

Course Modules 2017/8

Students must study the following modules for 100 credits:

Name Code Credits

COMPUTING PRINCIPLES

The module introduces key concepts in discrete mathematics, logic and Formal Language Theory essential for any degree in computing. Topics covered include the representation of number, the basis of regular expressions, and the applications of sets, relations and functions.

CMP-4002B

20

DATABASE SYSTEMS

This module introduces most aspects of databases, database manipulation and database management systems. The module is based on the relational model. The students will explore the tools and methods for database design and manipulation as well as the programming of database applications. Part of the practical experience gained will be acquired using a modern relational database management system. Students will also gain programming experience using SQL, and using a high level programming language to write applications that access the database.

CMP-4010B

20

PROGRAMMING 1

The purpose of this module is to give the student a solid grounding in the essential features of object-orientated programming using the Java programming language. The module is designed to meet the needs of the student who has not previously studied programming, although it is recognised that many 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

This module introduces some of the tools used for web development. Students will then build a substantial dynamic web site using HTML, CSS, Javascript and Python. An understanding of the underlying mechanisms of the technologies used in the Internet and World Wide Web is essential for any computing science student. The latter part of the module explains these technologies and takes a practical approach to exploring them. Issues of information systems security are considered at all stages but also in dedicated sessions. The final element of the module considers 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.

CMP-4004Y

20

MATHEMATICS FOR COMPUTING B

This module is designed for students with an A level (or equivalent) in Mathematics. For these students it provides 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

This module studies the organization of both the system software and the underlying hardware architecture in modern computer systems. The role of concurrent operation of both hardware and software components is emphasized throughout, and the central concepts of the module are reinforced by practical work in the laboratory.

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 recap Java and deepen your understanding of the language by teaching topics such as nested classes, enumeration, generics, reflection, collections and threaded programming. We then introduce C in order to improve your low level understanding of how programming works, before moving on to C++ in semester 2. We 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 in phased software development methodology, with a special focus on the activities required to go from initial class model design to actual running 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

This module provides a practical introduction to electronics. Topics include a review of basic components and fundamental laws; introduction to semiconductors; operational amplifiers; combinational logic; sequential logic; and state machines. Much of the time is spent on practical work. Students learn how to build prototypes, make measurements and produce PCBs.

CMP-5027A

20

FURTHER MATHEMATICS

This module is for those students who have taken Mathematics for Computing A or equivalent. It provides 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.

CMP-5006A

20

INFORMATION RETRIEVAL

The module explores the development of Information Retrieval technologies, which have been driven by large increases in online documents and the Internet search engines, surveys a range of IR topics and the use of natural language processing techniques and their role in IR.

CMP-5036A

20

SYSTEMS ANALYSIS

This module considers, at a high level, various activities associated with the development of all types of computer based information systems including project management, feasibility, investigation, analysis, logical and physical design, and the links to design and implementation. 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 tools and techniques in order to produce readable system specifications. Students are introduced to a number of development methods including object orientated, soft systems, structured, participative, iterative and rapid 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

Graphics 1 provides an introduction to the fundamentals of computer graphics for all computing students. It aims to provide a strong foundation for students wishing to study graphics, focusing on 2D graphics, algorithms and interaction. The module requires a good background in programming. OpenGL is utilised as the graphics API with examples provided in the lectures and supported in the laboratory classes. Other topics covered include 2D transformations, texture mapping, collision detection, graphics hardware, fonts, algorithms for line drawing, polygon filling, line and polygon clipping and colour in graphics.

CMP-5010B

20

NETWORKS

This module examines networks and how they are designed and implemented to provide reliable data transmission. A layered approach is taken in the study of networks with emphasis given to the functionality of the OSI 7 layer reference model and the TCP/IP model. The module examines the functionality provided by each layer and how this contributes to overall reliable data transmission that the network provides. An emphasis is placed on 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 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 the students to core techniques in Artificial Intelligence Topics covered include introduction to Prolog programming, state space representation and search algorithms, knowledge representation, and expert systems.

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 the lectures is reinforced with practical laboratory sessions. The module is coursework only and requires speech recognisers to be built that are capable of recognising the names of the students on the module and use both audio and visual speech information.

CMP-6026A

20

GRAPHICS 2

This module introduces the fundamentals of 3D geometric transformations and viewing using OpenGL. It teaches the theory and implementation of fundamental visibility determination algorithms and techniques for lighting, shading and anti-aliasing. Issues involved with modern high performance graphics processor are also considered. It also studies 3D curves and fundamental geometric data structures.

CMP-6006A

20

SOFTWARE ENGINEERING 2

Industrial software development is seldom started from scratch, companies generally have large systems of legacy software that need to be maintained, improved and extended. This module focuses on advanced software engineering topics, such as reverse engineering to understand legacy software, refactoring and design patterns to improve the design of software systems and developing new software products using third-party software components. Confidence in Java programming language skills as well as software engineering practice (phased development with agile methods, Unified Modeling Language, test-driven development) are pre-requisites. Software Engineering I (2M02) is required for this module.

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, structural genomics and protein modelling, 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.

CMP-6034B

20

COMPUTER VISION

Computer Vision is about "teaching machines how to see". It includes methods for acquiring, analysing and understanding images. The unit comprises lectures and laboratories. Practical exercises and projects, undertaken in the laboratory support the underpinning theory and enable students 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 builds on the material delivered in CMP-5013A 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 Outsourcing, Process Improvement, System Failure, Project Management, Configuration Management, Maintainability, Legacy Systems and Re-engineering, Acceptance and Performance Testing, Metrics and Human Factors are covered in this module. The module is supported by a series of industrial case studies and includes 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

This module provides a practical introduction to electronics. Topics include a review of basic components and fundamental laws; introduction to semiconductors; operational amplifiers; combinational logic; sequential logic; and state machines. Much of the time is spent on practical work. Students learn how to build prototypes, make measurements and produce PCBs.

CMP-5027A

20

INFORMATION RETRIEVAL

The module explores the development of Information Retrieval technologies, which have been driven by large increases in online documents and the Internet search engines, surveys a range of IR topics and the use of natural language processing techniques and their role in IR.

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. Topics covered in this module include data protection and privacy, cybercrime, telecoms, contracts, domain names, the control of content and the resolution of disputes. Students 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, and the module is assessed by 100% coursework.

LAW-6001A

20

MATHEMATICS FOR SCIENTISTS B

This module is the second in a series of three mathematical modules for students across the Faculty of Science. It covers vector calculus (used in the study of vector fields in subjects such as fluid dynamics and electromagnetism), time series and spectral analysis (a highly adaptable and useful mathematical technique in many science fields, including data analysis), and fluid dynamics (which has applications to the circulation of the atmosphere, ocean, interior of the Earth, chemical engineering, and biology). There is a continuing emphasis on applied examples.

MTHB5006A

20

SYSTEMS ANALYSIS

This module considers, at a high level, various activities associated with the development of all types of computer based information systems including project management, feasibility, investigation, analysis, logical and physical design, and the links to design and implementation. 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 tools and techniques in order to produce readable system specifications. Students are introduced to a number of development methods including object orientated, soft systems, structured, participative, iterative and rapid 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 studies 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 moves on to 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). Transformers and transmission lines are studied with a view to distrubution of electricity. Voltage conversion methods such as the rectifier, buck and boost converters are examined and finally electricity generation through solar is covered.

ENG-6001B

20

GRAPHICS 1

Graphics 1 provides an introduction to the fundamentals of computer graphics for all computing students. It aims to provide a strong foundation for students wishing to study graphics, focusing on 2D graphics, algorithms and interaction. The module requires a good background in programming. OpenGL is utilised as the graphics API with examples provided in the lectures and supported in the laboratory classes. Other topics covered include 2D transformations, texture mapping, collision detection, graphics hardware, fonts, algorithms for line drawing, polygon filling, line and polygon clipping and colour in graphics.

CMP-5010B

20

MATHEMATICS FOR SCIENTISTS C

MTHB5007B

20

NETWORKS

This module examines networks and how they are designed and implemented to provide reliable data transmission. A layered approach is taken in the study of networks with emphasis given to the functionality of the OSI 7 layer reference model and the TCP/IP model. The module examines the functionality provided by each layer and how this contributes to overall reliable data transmission that the network provides. An emphasis is placed on 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 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. Where this is the case, the University will endeavour to inform students.

Entry Requirements

  • A Level ABB in one of the subjects listed below. Science A Levels must include a Pass in the practical element.
  • International Baccalaureate 32 points overall including one HL subject from the preferred subjects list at 5 and one other HL subject at 5
  • Scottish Advanced Highers ABB in one subject as listed below
  • Irish Leaving Certificate AABBBB or 2 subjects at H1 and 4 subjects at H2 including subject from list below
  • 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 Level 3 credits in either Mathematics, Science or Economics
  • BTEC DDM in an IT or science related subject
  • European Baccalaureate 75% overall with 70% in one subject as listed below

Entry Requirement

 

One A level or equivalent is required in the following subjects: Mathematics, Computing, Physics, Electronics or Economics.

General Studies and Critical Thinking are not accepted.

You are required to have English Language at a minimum of Grade C or Grade 4 or above and Mathematics at Grade B or Grade 5 or above 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 requirements for direct entry our partner, INTO University of East Anglia offers guaranteed progression on to this undergraduate degree upon successful completion of a preparation programme. Depending on your interests, and your qualifications you can take a variety of routes to this degree:

International Foundation in Physical Sciences and Mathematics FS3

International Foundation in Mathematics with Actuarial Science FMA

International Foundation in Pharmacy, Biomedicine and Health FS2

This degree programme will also consider applications from all other International Foundation pathways at INTO 

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: Home and EU Students

Tuition Fees

Please see our webpage for further information on the current amount of tuition fees payable for Home and EU students and for details of the support available.

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. 

Home/EU - The University of East Anglia offers a range of Bursaries and Scholarships.  To check if you are eligible please visit 

______________________________________________________________________

Undergraduate University Fees and Financial Support: International Students

Tuition Fees

Please see our webpage for further information on the current amount of tuition fees payable for International Students.

Scholarships

We offer a range of Scholarships for International Students – please see our website for further information.

 

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