Computing Sciences

BSc COMPUTING SCIENCE WITH A FOUNDATION YEAR

Key details 

BSC COMPUTING SCIENCE WITH A FOUNDATION YEAR

Start Year
2021
Attendance
Full Time
Award
Degree of Bachelor of Science
UCAS course code
G414
Entry Requirements
CCC

Assessment for Year 1

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.

Admissions Live Chat   
Register interest   
Open Days   

Assessment for Year 2

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.

Admissions Live Chat   
Register interest   
Open Days   
Admissions Live Chat   
Register interest   
Open Days   
Admissions Live Chat   
Register interest   
Open Days   

Year 0 (Foundation Year)

Compulsory Modules (80 Credits)

Code CMP-3002A - (20 Credits)

In taking this module you will learn about a wide range of topics that are fundamental to computing science. You will study areas such as history of computing, the binary system, logic circuits, fetch and execute cycles as well as components that made up of modern computer systems. Internet related technologies will also be covered. In the practical work for the module you will use a range of tools and techniques appropriate to the topic being studied.

Code CMP-3006B - (20 Credits)

This module follows on from Foundations of Computing 1. You will learn about a further range of topics that are fundamental to computing science. You will study areas such as database design, accessing databases via dynamic websites, an introduction to machine code, machine learning and an introduction to higher level languages.

Code CMP-3005A - (20 Credits)

Introductory Programming introduces a number of programming concepts at the start of your programming career, using a modern programming language common to many digital industries. We structure learning through lectures, delivering core materials, and tutor supported exercises to reinforce learning, and to prepare students for programming in their following studies.

Code CMP-3007B - (20 Credits)

In taking this module you will learn how information systems are used in business. You will be introduced to the concept of the lifecycle approach to systems development and basic systems analysis and design techniques using a top down, functional decomposition approach.

 

Options Range A (20 Credits)

Code MTHB3001A - (20 Credits)

Taught by lectures and seminars to bring students from Maths GCSE towards A-level standard, this module covers several algebraic topics including functions, polynomials and quadratic equations. Trigonometry is approached both geometrically up to Sine and Cosine Rule and as a collection of waves and other functions. The main new topic is Differential Calculus including the Product and Chain Rules. We will also introduce Integral Calculus and apply it to areas. Students should have a strong understanding of GCSE Mathematics.

Code MTHB3005A - (20 Credits)

This is a course in mathematics for students who have studied Maths at GCSE level gaining a grade B/C or equivalent and/or more than two years ago. The course includes some AS level material relevant to science. This module is reserved for students on the Chemistry, Biology, Pharmacy, Environmental Science or Computing Foundation Years.

 

Options Range B (20 Credits)

Code MTJB3002B - (20 Credits)

Following MTHB3001A (Basic Mathematics I), this module brings students up to the standard needed to begin year one of a range of degree courses. The first half covers Integral Calculus including Integration by Parts and Substitution. Trigonometric identities, polynomial expressions, partial fractions and exponential functions are explored, all with the object of integrating a wider range of functions. The second half of the module is split into two: Complex Numbers and Vectors. We will meet and use the imaginary number i (the square root of negative one), represent it on a diagram, solve equations using it and link it to trigonometry and exponential functions. Strange but true: imaginary numbers are useful in the real world. The last section is practical rather than abstract too; we will be looking at three dimensional position and movement and solving geometric problems through vector techniques.

Code MTHB3006B - (20 Credits)

This module is ideal for you if you are studying a Science Faculty degree with a Foundation Year or Computing with a Foundation Year and have completed study of the module Introductory Mathematics for Scientists. You will build on the knowledge gained during the Mathematics for Scientists introduction module and advance your skills.

 

Year 1

Compulsory Modules (100 Credits)

Code CMP-4008Y - (20 Credits)

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 recognised that many students taking the module will have done so in some measure.

Code CMP-4013A - (20 Credits)

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.

Code CMP-4011A - (20 Credits)

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 the current HTML family of standards. 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 cyber security.

Code CMP-4002B - (20 Credits)

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

Code CMP-4010B - (20 Credits)

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.

 

Options Range A (20 Credits)

Code CMP-4004Y - (20 Credits)

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.

Code CMP-4005Y - (20 Credits)

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.

 

Year 2

Compulsory Modules (80 Credits)

Code CMP-5013A - (20 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.

Code CMP-5012B - (20 Credits)

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.

Code CMP-5014B - (20 Credits)

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.

Code CMP-5015A - (20 Credits)

This is a compulsory module for all computing students and is a continuation of programming 1. 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 also cover C++ and introduce C# to highlight the similarities and differences between languages.

 

Options Range A (20 Credits)

Code CMP-5003A - (20 Credits)

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.

Code CMP-5027A - (20 Credits)

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

Code CMP-5036A - (20 Credits)

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.

 

Options Range B (20 Credits)

Code CMP-5010B - (20 Credits)

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.

Code CMP-5073B - (20 Credits)

Explore how networks are designed and implemented to provide reliable data transmission. You will 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 will 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.

Code CMP-5045B - (20 Credits)

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.

Code CMP-5046B - (20 Credits)

In this module you will study the key concepts, processes, techniques in the data science workflow. There will be coverage of data collection, storage, key statistical and machine learning techniques, and presenting the results of analyses. In this module you will study the key concepts, processes, techniques in the data science workflow. There will be coverage of data collection, storage, key statistical and machine learning techniques, and presenting the results of analyses. In this module you will study the key concepts, processes, techniques in the data science workflow. There will be coverage of data collection, storage, key statistical and machine learning techniques, and presenting the results of analyses.

 

Year 3

Compulsory Module (40 Credits)

Code CMP-6013Y - (40 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 together on a mutually agreed project.

 

Options Range A (20-40 Credits)

Code CMP-6006A - (20 Credits)

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.

Code CMP-6026A - (20 Credits)

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.

Code CMP-6039A - (20 Credits)

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.

Code CMP-6040A - (20 Credits)

This module will introduce you to core techniques in Artificial Intelligence. Topics covered may include state space representation and search algorithms, knowledge representation, expert systems, Bayesian networks, Markov Models, Neural networks, Deep learning, and an Introduction to Robotics and Drone.

Code CMP-6044A - (20 Credits)

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.

Code CMP-6048A - (20 Credits)

Covers advanced features of established OO languages including C++ and Java, introduces F# (functional language) and C# (hybrid language) including .NET/CLR, and C++11,14. On the other side of the language spectrum, procedural and lower level languages such as C, IL, Bytecode and x86 assembly language are studied. Furthermore, code optimisation and high-performance computing (cluster, GPU) are addressed as well. Finally, practical methods as part of software engineering are reiterated including agile programming, design patterns and software testing.

 

Options Range B (20-40 Credits)

Code CMP-6002B - (20 Credits)

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.

Code CMP-6003B - (20 Credits)

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

Code CMP-6035B - (20 Credits)

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.

Code CMP-6045B - (20 Credits)

Our increasing reliance on software systems to manage our personal data means that there is a growing requirement to deliver robust and secure software. This module will focus on the importance of designing software with security in mind. This will include elements of ethical hacking and vulnerability testing as well as the techniques and tools used to create secure software and to maintain the confidentiality, integrity and availability of the systems and data.

Code CMP-6046B - (20 Credits)

In this module we will introduce the multifaceted topic of Ubiquitous Computing. You will learn about how computing power can be taken away from desktop computer setting and be applied anywhere. The module draws upon many other areas such as Signal Processing, Machine Learning, Human Computer Interaction, Internet of Things, Networks, and the use of hardware such as microcontrollers, various sensors to create systems that sense and interpret the outside world to help solve a wide range of problems. These systems can be wearable devices, smartphone apps that use the phone’s sensors, or bespoke devices that can be deployed in buildings, vehicles, urban and natural environments. This is project and coursework orientated module with an emphasis on developing your own ideas to gain the skills needed to take the power of computing to be everywhere.

Code ENG-6001B - (20 Credits)

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.

 

Options Range C (0-20 Credits)

Code CMP-5003A - (20 Credits)

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.

Code CMP-5027A - (20 Credits)

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

Code CMP-5036A - (20 Credits)

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.

 

Options Range D (0-20 Credits)

Code CMP-5010B - (20 Credits)

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.

Code CMP-5037B - (20 Credits)

Explore how networks are designed and implemented to provide reliable data transmission. You will 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 will 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.

Code CMP-5045B - (20 Credits)

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.

Code CMP-5046B - (20 Credits)

In this module you will study the key concepts, processes, techniques in the data science workflow. There will be coverage of data collection, storage, key statistical and machine learning techniques, and presenting the results of analyses. In this module you will study the key concepts, processes, techniques in the data science workflow. There will be coverage of data collection, storage, key statistical and machine learning techniques, and presenting the results of analyses. In this module you will study the key concepts, processes, techniques in the data science workflow. There will be coverage of data collection, storage, key statistical and machine learning techniques, and presenting the results of analyses.

 

Admissions Live Chat   
Register interest   
Open Days   

Entry Requirements

A Levels

CCC - for further details on how we review your application please see below.

BTEC

MMM

Scottish highers

BBCCC

Scottish highers advanced

DDD

Irish leaving certificate

6 subjects at H4

Access course

Pass the Access to HE Diploma with 45 credits at Level 3.

European Baccalaureate

60%

International Baccalaureate

28 points

GCSE offer

All applicants are required to have Mathematics and English Language at a minimum of Grade C/4 or above at GCSE.

Additional entry requirements

We welcome applications from students with non-traditional academic backgrounds.  If you have been out of study for the last three years and you do not have the entry grades for our three year degree, we will consider your educational and employment history, along with your personal statement and reference to gain a holistic view of your suitability for the course. You will still need to meet our GCSE English Language and Mathematics requirements.

If you are currently studying your level 3 qualifications, we may be able to give you a reduced grade offer based on these circumstances:

• You live in an area with low progression to higher education (we use Polar 4, quintile 1 & 2 data)
• You have been in care or you are a young/full time carer
• You are studying at a school which our outreach team are working closely with

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 5.5 in any component)

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

 

 

Interviews

Occasionally we may invite you to an interview to further explore your application and suitability for the course.

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 in your UCAS personal statement.

Intakes

This course is open to UK and International applicants. The annual intake for this course is in September each year.

 

Course Reference Number: 1545437

Fees and Funding

Tuition Fees

Information on tuition fees can be found here.

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.

Course related costs

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

Course Reference Number: 1545437

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. 

 

Course Reference Number: 1545437
Key details
Attendance
Full Time
Award
Degree of Bachelor of Science
UCAS course code
G414
Entry Requirements
CCC
Learn to program the future with a degree in Computing Science. From the information systems of banks and businesses, to the creativity of gaming and web design, to AI, robotics, cloud computing, big data and more, you’ll explore the full application and potential of computing in the modern world. On your Foundation Year, you’ll gain the knowledge, understanding and skills needed for undergraduate level study. Upon completion, you’ll be able to progress to the BSc Computing Science or, depending on your grades, one of our other computing degrees.
Schools
Computing Sciences
See more