MComp Computing Science with a Year Abroad

Video

The School of Computing Sciences is one of the largest and most experienced computing schools in the UK, expertly blending excellent teaching, research, facilities and exciting course modules to offer a dynamic programme targeted at the job market.

Watch It

Video

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

Watch It

Key facts

(2014 Research Excellence Framework)

Key facts

This course fully meets the academic requirement for registration as a Chartered IT Professional and a Chartered Engineer.

Learn to program the future. Prepare to excel in a range of computing fields, from the information systems of banks and businesses, to the creativity of gaming and web design, to artificial intelligence (AI), robotics, cloud computing, big data and more. And take your learning on tour by spending your third year studying overseas – expanding your academic horizons and experiencing a whole new culture.

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 four-year degree with a year abroad will give you the chance to study your subject in depth, preparing you for an exciting career working with the rapidly changing technology of computing.

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

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

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. 

In your third year, you’ll get the academic and personal experience of a lifetime when you live and study abroad at one of our partner universities. Choose from universities in the United States, Canada, Europe, Asia or Australia, each with their own strengths and research specialisms to expand your learning. This is also a chance to build contacts, learn about a different culture, and show future employers your resilience and adaptability.

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

This degree is accredited by the British Computer Society.

 

Course Structure

You will follow the BSc programme structure for the first three years, gaining a solid foundation in programming, problem solving, and relevant mathematics and computing theory. You will then develop these themes further through core study in advanced programming, software engineering, data structures, algorithms, and operating systems and architectures.

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

In your third year you’ll spend time abroad, either for a single semester or the whole year. While you’re at your chosen university you’ll continue studying similar subjects to those at UEA. Or you can choose to focus on selected topics in greater depth – reflecting the strengths and research specialisms of the partner institution.

Year 4

In your final year, you’ll undertake a large project, supervised by a member of the faculty, and study your choice of a selection of optional modules at Master’s level.

Teaching and Learning

Teaching

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

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

Independent study

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

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

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

Assessment

We’ll use a wide range of methods to assess your learning – including programming assignments, essays, class tests, problem sheets, laboratory reports, presentations and demonstrations. 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

This course gives you the opportunity to live and study abroad in your third year at one of our partner universities. It’s a fantastic chance to show future employers you have what it takes to succeed in an international setting.

For further details, visit our Study Abroad section of our website.

We also offer a BSc Computing with a Year in Industry, where you can put yourself one step ahead of fellow graduates by spending a year in the workplace. This will not only give you first-hand knowledge of the way in which your chosen field operates, it will also greatly improve your chances of progressing within that sector after you graduate as you gain valuable contacts and insight.

After the course

With experience of living and studying in another country, you will be one step ahead of other graduates in the job market. Employers will value your flexibility, maturity, resilience and wider perspective.

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

Career destinations

Examples of careers that you could enter include;

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

Course related costs

You are eligible for reduced fees during the year abroad. Further details are available on our Tuition Fee website. 

There will be extra costs related to items such as your travel and accommodation during your year abroad, which will vary depending on location.

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. Students will select 20 credits from the following modules:

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

Name Code Credits

LEVEL 3 STUDY ABROAD PROGRAMME 1

Candidates on this module undertake an Autumn Semester of approved study at an overseas University. The mark for this module is the overall mark for the semester spent abroad.

CMP-6015A

20

LEVEL 3 STUDY ABROAD PROGRAMME 2

Candidates on this module undertake an Autumn Semester of approved study at an overseas University. This module will normally form part of a year-long programme by undertaking it in conjunction with Level 3 Study Abroad Programme 1,3,4,5 and 6.

CMP-6017A

20

LEVEL 3 STUDY ABROAD PROGRAMME 3

Candidates on this module undertake an Autumn Semester of approved study at an overseas University. This module will normally form part of a year-long programme by undertaking it in conjunction with Level 3 Study Abroad Programme 1,2,4,5 and 6.

CMP-6019A

20

LEVEL 3 STUDY ABROAD PROGRAMME 5

Candidates on this module undertake a Spring Semester of approved study at an overseas University. This module will normally form part of a year-long programme by undertaking it in conjunction with Level 3 Study Abroad Programme 1,2,3,4 and 6.

CMP-6018B

20

LEVEL 3 STUDY ABROAD PROGRAMME 6

Candidates on this module undertake a Spring Semester of approved study at an overseas University. This module will normally form part of a year-long programme by undertaking it in conjunction with Level 3 Study Abroad Programme 1,2,3,4 and 5.

CMP-6020B

20

LEVEL 3 STUDY ABROAD PROGRAMME 4

Candidates on this module undertake a Spring Semester of approved study at an overseas University.

CMP-6016B

20

Students must study the following modules for 60 credits:

Name Code Credits

ADVANCED PROGRAMMING CONCEPTS AND TECHNIQUES

You will cover advanced programming topics and state of the art software engineering concepts as part of medium to large software product development. More specifically, the following subjects are included: 1. Programming languages: Covering the vast array of programming languages, including older languages (both surviving and obsolete ones), current popular languages and new kids on the block. Different programming paradigms are discussed with code samples and applications to illustrate the underlying theoretical concepts. 2. Advanced software engineering including design patterns, modern iterative and incremental methods such as agile programming and software testing. 3. Program optimisation, parallel programming and high performance computing (HPC): Including underlying laws (Amdahl, Gustafson-Barsis), multi-threading, various languages and/or platforms, GPU programming (CUDA and OpenCL). 4. State of the art coverage of specific languages including C, F#, C#, C++11,14 etc. 5. Specific architectures such as Window's .NET/CLR, DLL programming, templates and type systems.

CMP-7009A

20

MCOMP PROJECT

This module is motivated by the need to simulate real project work. You will work in a group on a problem that is either taken from an active research group within the University or from a real problem in industry or in commerce.

CMP-7024Y

40

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

Name Code Credits

DATA MINING

This module is designed for postgraduate students studying on MSc courses. You will explore the methodologies of Knowledge Discovery and Data Mining (KDD). You will cover each stage of the KDD process, including preliminary data exploration, data cleansing, pre-processing and the various data analysis tasks that fall under the heading of data mining, focusing on clustering, classification and association rule induction. Through this module, you will gain knowledge of algorithms and methods for data analysis, as well as practical experience using leading KDD software packages.

CMP-7023B

20

HUMAN COMPUTER INTERACTION

Human Computer Interaction (or UX) covers a very wide range of devices, including conventional computers, mobile devices and "hidden" computing devices. In this module you will learn about interactions from a variety of perspectives, such as cognitive psychology, ethnographic methods, security issues, UI failures, the principles of good user experience, heuristic and experimental evaluation approaches and the needs of a range of different audiences.

CMP-7018A

20

INFORMATION VISUALISATION

This module is an introduction to information visualisation. You will learn techniques for summarising and presenting a wide range of data. There is a strong emphasis on understanding the appropriate context and use of visualisation techniques. You will also learn about problems and techniques for dealing with large data flows and issues of integrating multiple data sources.

CMP-7022B

20

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

Name Code Credits

ARTIFICIAL INTELLIGENCE

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

CMP-7028A

20

AUDIO AND VISUAL PROCESSING

This module explores how computers process audio and video signals. In the audio component, the focus is on understanding how humans produce speech and how this can be processed by computer for speech recognition and enhancement. Similarly, the visual component considers the human eye and camera, and how video is processed by computer. The theoretical material covered in lectures is reinforced with practical laboratory sessions. The module is coursework only and requires you to build a speech recogniser capable of recognising the names of students studying the module using both audio and visual speech information.

CMP-7016A

20

COMPUTER GRAPHICS

You are likely to enjoy this module if you have an interest in working in the games industry or in the development of real-time graphics applications. This module covers the fundamentals in 3D graphics including transformations, lighting, shading, texture mapping and collision detection. You will study the fundamentals of programming real-time 3D graphics using OpenGL and the OpenGL Shading Language (GLSL). Ability to program in a high level language such as C++ or Java is required.

CMP-7013A

20

COMPUTER VISION

Computer Vision is about "teaching machines how to see". You will study methods for acquiring, analysing and understanding images in both lectures and laboratories. The practical exercises and projects that you undertake in the laboratory will support the underpinning theory and enable you to implement contemporary computer vision algorithms.

CMP-7026B

20

Disclaimer

Whilst the University will make every effort to offer the modules listed, changes may sometimes be made arising from the annual monitoring, review and update of modules and regular (five-yearly) review of course programmes. Where this activity leads to significant (but not minor) changes to programmes and their constituent modules, there will normally be prior consultation of students and others. It is also possible that the University may not be able to offer a module for reasons outside of its control, such as the illness of a member of staff or sabbatical leave. In some cases optional modules can have limited places available and so you may be asked to make additional module choices in the event you do not gain a place on your first choice. Where this is the case, the University will endeavour to inform students.

Further Reading

  • UEA Award

    Develop your skills, build a strong CV and focus your extra-curricular activities while studying with our employer-valued UEA award.

    Read it UEA Award
  • OPENING IN SUMMER 2019

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

    Read it OPENING IN SUMMER 2019
  • Ask a Student

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

    Read it Ask a Student
  • University Taster Events

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

    Read it University Taster Events
  • Hear from our students

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

    Read it Hear from our students

Entry Requirements

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

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 GCSE English Language at a minimum of Grade C/4 and GCSE Mathematics at a minimum of Grade B/5.

 

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

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