About the course
Technology drives society, and computer science is developing faster than ever before. Social media, cloud computing, face recognition software, network security and robotics all have a basis in computing. In both business and research, computer science continues to change our lives, our work, and the way we communicate and socialise with one another.
Our research covers a range of topics, from materials science and semiconductor device physics, to the theory of computation and the philosophy of computer science, with most of our research groups based around laboratories offering world-class facilities. On the four-year MSci version of this course, you develop the same key skills for computer science as on the BSc, in particular in the areas of:
- Algorithm analysis and basic computability
- Software engineering
- Java language principles and application programming interfaces
In addition to these areas, you achieve a masters-level qualification and also have the opportunity to investigate more advanced topics in computer science, specialising in one of the areas of research being undertaken within our department. You are able to pursue a diverse range of topics, including:
- Assistive technologies
- Computer games
- Artificial intelligence
- Evolutionary computation
Our School is a community of scholars leading the way in technological research and development. Today’s computer scientists are creative people who are focused and committed, yet restless and experimental. We are home to many of the world’s top scientists, and our work is driven by creativity and imagination as well as technical excellence.
We were ranked 8th in the UK in the 2015 Academic Ranking of World Universities, with more than two-thirds of our research rated “world-leading” or “internationally excellent” (REF 2014).
You graduate with the creativity, imagination, and technical excellence to explore further how technology influences people’s lives.
This degree is accredited by both the Institution of Engineering and Technology (IET) and the British Computer Society (BCS). These accreditations are increasingly sought by employers, and provide the first stage towards eventual professional registration as a Chartered Engineer (CEng).
Alternatively, you can spend your third year on a placement with an external organisation, as part of one of our placement year degrees. The learning outcomes associated with this programme focus on using the specialist technical skills acquired in the first three years of the course and developing communications skills with customers.
Students are provided with support to secure a placement. Recent placements undertaken by our students have been with ARM, Microsoft, Intel, Nestlé, British Aerospace, and the Rutherford Appleton Laboratory, as well a range of SME software and hardware companies.
Our expert staff
Our original Department of Computer Science was founded by Professor Tony Brooker, who came to Essex from Manchester where he had worked with Alan Turing. Professor Brooker invented the compiler-compiler, one of the earliest applications of a formal understanding of the nature of programming languages.
In recent years we have attracted many highly active research staff and we are conducting world-leading research in areas such as evolutionary computation, brain-computer interfacing, intelligent inhabited environments and financial forecasting.
- We have six laboratories that are exclusively for computer science and electronic engineering students. Three are open 24/7, and you have free access to the labs except when there is a scheduled practical class in progress
- All computers run either Windows 7 or are dual boot with Linux
- Software includes Java, Prolog, C++, Perl, Mysql, Matlab, DB2, Microsoft Office, Visual Studio, and Project
- Students have access to CAD tools and simulators for chip design (Xilinx) and computer networks (OPNET)
- We also have specialist facilities for research into areas including non-invasive brain-computer interfaces, intelligent environments, robotics, optoelectronics, video, RF and MW, printed circuit milling, and semiconductors.
The Government and industry are increasingly concerned that there will be a shortfall in skilled personnel to meet the needs of the IT industries. And an incredible 92.5% of our computer science graduates secure a graduate job or go on to further study within six months of finishing their degree - well above the national average.
Past Essex graduates in computer science have found employment as systems analysts, software engineers, programmers and systems engineers, while a number go on to postgraduate study or research.
Our department has a large pool of external contacts, ranging from companies providing robots for the media industry, through vehicle diagnostics, to the transforming of unstructured data to cloud-based multidimensional data cubes, who work with us and our students to provide advice, placements and eventually graduate opportunities.
Our recent graduates have gone on to work for a wide range of high-profile companies including:
- Formula One
- Light Speed IT Solutions
- Royal Bank of Scotland
We also work with the university’s Employability and Careers Centre to help you find out about further work experience, internships, placements, and voluntary opportunities.
Studying at Essex is about discovering yourself, so your course combines compulsory and optional modules to make sure you gain key knowledge in the discipline, while having as much freedom as possible to explore your own interests. Our research-led teaching is continually evolving to address the latest challenges and breakthroughs in the field, therefore to ensure your course is as relevant and up-to-date as possible your core module structure may be subject to change.
For many of our courses you’ll have a wide range of optional modules to choose from – those listed in this example structure are just a selection of those available. The opportunity to take optional modules will depend on the number of core modules within any year of the course. In many instances, the flexibility to take optional modules increases as you progress through the course.
Our Programme Specification gives more detail about the structure available to our current first-year students, including details of all optional modules.
This module introduces students to three key aspects of professional development. These are product development, team work, and project management. In teams of six you work throughout the year to develop a performance for a Nao robot, with a Python module at the core of the product. Apart from the core skills you also learn about contextual issues such as intellectual Property (IP), sustainability, ethical issues, and health & safety. The module is a great opportunity to build a product in a team of fellow students and have that wonderful feeling of having created something original.
View 'Professional Development' on our Module Directory
The aim of this module is to cover fundamental mathematics for Computer Scientists. It does not assume A-level mathematics, and the emphasis and delivery will be on understanding the key concepts as they apply to Computer Science.
View 'Mathematics for Computing' on our Module Directory
The aim of this module is to provide an introduction to the fundamental concepts of computer programming. After completing this module, students will be expected to be able to demonstrate an understanding of the basic principles and concepts that underlie the procedural programming model, explain and make use of high-level programming language features that support control, data and procedural abstraction. Also, they will be able to analyse and explain the behaviour of simple programs that incorporate standard control structures, parameterised functions, arrays, structures and I/O.
View 'Introduction to Programming' on our Module Directory
Want to become a Java programmer? Topics covered in this module include control structures, classes, objects, inheritance, polymorphism, interfaces, file I/O, event handling, graphical components, and more. You will develop your programming skills in supervised lab sessions where help will be at hand should you require it.
View 'Object-Oriented Programming' on our Module Directory
Databases are everywhere. They are employed in banking, production control and the stock market, as well as in scientific and engineering applications. For example, the Human Genome Project had the goal of mapping the sequence of chemical base pairs which make up human DNA. The result is a genome database. This module introduces the underlying principles of databases, database design and database systems. It covers the fundamental concepts of databases, and prepares the student for their use in commerce, science and engineering.
View 'Introduction to Databases' on our Module Directory
The aim of this module is to provide students with an introduction to the principles and technology that underlie internet applications and the techniques used in the design and construction of web sites. Students showcase their skills by designing and building both client and server components of a data driven web site.
View 'Web Development' on our Module Directory
This module introduces the fundamentals of networking including wiring and configuration of switches and routers and associated subnetting. Laboratory sessions give practical hands on experience in our purpose built networking lab. The module uses the Cisco CCNA exploration Network Fundamentals course which is the first of four Cisco courses that can be used to obtain a Cisco CCNA qualification and participants will gain the CCNA1 qualification whilst on this course.
View 'Network Fundamentals' on our Module Directory
Computers, embedded systems, and digital systems in general have become an essential part of most people's lives, whether directly or indirectly. The aim of this module is to introduce the software and hardware underpinnings of such systems at an introductory yet challenging level suitable for future computer scientists and engineers. Topics covered in the module include both top-view as well as bottom-view approaches to understanding digital computers. They range from the more theoretical (e.g., state machines, logic circuits, and von Neumann's architecture) to the more practical (e.g., how transistors produce binary signals, operating system functions, memory management, and common hardware devices). The module also includes problem solving classes in which a guided discussion of weekly exercises is aimed at giving the student an opportunity to consolidate his/her understanding of the topics involved. Upon completion of this module, students should have a good conceptual and practical understanding of the nature and architecture of digital computer systems and their components.
View 'Fundamentals of Digital Systems' on our Module Directory
This course covers the principles of project management, team working, communication, legal issues, finance, and company organisation. Working in small teams, students will go through the full project life-cycle of design, development and implementation, for a bespoke software requirement. In this course, students gain vital experience to enable them to enter the computer science/Electrical engineering workforce, with a degree backed by the British Computer Society, and by the Institute of Engineering and Technology.
View 'Group Project & Industrial Practice' on our Module Directory
This module aims to equip students with the main principles guiding the activities involved in software development throughout its lifecycle, including software requirements, object-oriented analysis and design, software validation and testing, and software maintenance and software evolution.
View 'Software Engineering' on our Module Directory
This module extends the students' knowledge and skills in object-oriented application programming by a treatment of further Java language principles and of important Application Programming Interfaces (APIs). The Java Collections API is explored in some more detail with emphasis on how to utilise these classes to best effect. A particular focus will be on the interaction with databases (e.g. via JDBC) and on writing secure applications.
View 'Application Programming' on our Module Directory
Data structures and algorithms lie at the heart of Computer Science as they are the basis for the efficient solution of programming tasks. In this module, students will study core algorithms and data structures, as well as being given an introduction to algorithm analysis and basic computability.
View 'Data Structures and Algorithms' on our Module Directory
The aim of this module is to build on the foundations of data and information systems laid down in the first year, learn how to design and manage fully structured data repositories and explore the rather different principles and techniques involved in representing, organising and displaying unstructured information.
View 'Databases and Information Retrieval (optional)' on our Module Directory
Human-Computer Interaction is about making software usable - not requiring users to think very hard in order to carry out whatever operation they need to do. In this module we start by covering the cognitive foundations of usability - what we know about the perceptual and motor limitations of our users - before introducing Norman's theory of human / computer interaction and its applications, using web design as the main application scenario - considering both web access from a desktop and web access from a smartphone, with all its implications. Finally, we look at how to use visualization to facilitate access to information.
View 'Human Computer Interfaces and Visualisation (optional)' on our Module Directory
Artificial intelligence will be a great driver of change in the coming decades. This module provides an introduction to three fundamental areas of artificial intelligence: search, knowledge representation, and machine learning. These underpin all more advanced areas of artificial intelligence and are of central importance to related fields such as computer games and robotics. Within each area, a range of methodologies and techniques are presented, with emphasis being placed on understanding their strengths and weaknesses and hence on assessing which is most suited to a particular task.
View 'Artificial Intelligence (optional)' on our Module Directory
The highlight of our undergraduate degree courses is the individual capstone project. This project module provides students with the opportunity to bring together all the skills they have gained during their degree and demonstrate that they can develop a product from the starting point of a single 1/2 page description, provided either by an academic member of staff or an external company. In all the student spends 450 hours throughout the academic year, reporting to their academic tutor, and in the case of company projects, to a company mentor. All projects are demonstrated to external companies on our Project Open Day.
View 'Individual Project' on our Module Directory
Massively Multiplayer Online Role-Playing Games are the largest and most sophisticated computer games in existence. This extraordinary module – which is quite unlike any other in the School – covers their design, history, influence and artistry, and is delivered by one of the two individuals who co-invented the genre here at Essex University in the late 1970s. If you’re interested in game design in general and MMO design in particular, you’re not going to find a module quite like this anywhere else.
View 'Virtual Worlds (optional)' on our Module Directory
This course covers the fundamentals of games development, with special emphasis on 3D games and the Unity Game Engine. In this practical course, with many code samples and exercises, you'll learn how to implement a complete 3D game in Unity, including all aspects of game development: User input, 3D models and animations, physics, camera, audio, lights, terrains, graphical user interfaces and artificial intelligence. No previous game development experience is needed, although having previous programming knowledge is strongly advised (all programming will be done in C#).
View 'High-Level Games Development (optional)' on our Module Directory
Nowadays no organization or business can manage without computer support. Of course! But exactly what does a business do, and what support does it need? Some relevant words are "databases" and "transaction processing" and "acquiring new systems" - but what about systems for customer relation management, or using social media, or blockchains? This module looks at what support organizations need, and at how ICT can provide it – and since both are changing all the time, it emphasizes collecting and presenting the information needed to decide about ICT.
The world demands software systems with ever increasing richness of behaviours and degrees of complexity. However, traditional software engineering techniques, which were inherited with relatively minor adaptations from other, older branches of engineering, have been struggling to scale up to the challenges posed by modern software systems. As a result, a large proportion (as much as a quarter!) of software projects based on traditional methods end up being cancelled at some point in their lifecycle, with many more being late, over budget and with less features than initially stipulated. In this module you will learn why traditional software engineering techniques fail, and you will become very familiar (through lectures, labs, videos and a large group project) with a novel set of techniques, known as Extreme Programming and Agile Software Development, which fundamentally solve these problems. In the last decade, these techniques have been so successful that today as many as 80% of all projects adopt agilite methods.
View 'Large Scale Software Systems and Extreme Programming (optional)' on our Module Directory
How do you configure Internet routing protocols for interconnecting WAN and LAN technologies? How suitable are WAN protocols within a modern communications infrastructure? Study the theories behind simulating and analysing network performance. Understand the fundamental principles behind contemporary network architecture and protocols, and evaluate why new protocols are created.
View 'Network Engineering (optional)' on our Module Directory
This module aims to prepare students for conducting an independent research project leading to a dissertation and to provide them with an appreciation of research and business skills related to their professional career. As a precursor to their project students, individually select an area of Computer Science, or Electronic Engineering, or Computational Finance and perform the necessary background research to define a topic and prepare a project proposal under the guidance of a supervisor. The module guides them by a) introducing common research methods b) creating an understanding of basic statistics for describing and making conclusions from data c) helping to write a strong proposal including learning how to perform literature search and evaluation and d) giving an in-depth view into the business enterprise, financial and management accounting and investment appraisal.
View 'Professional Practice and Research Methodology' on our Module Directory
Teamwork skills are essential for employability. The aim of this module is to provide students with the opportunity to apply their specialised knowledge to a realistic problem and gain practical experience of the processes involved in the team-based production of software. Wherever possible, teams are organised on the basis of shared interest, and the problem is designed to exercise their understanding of their area of specialised study. Starting from an outline description of a realistic problem, each team is required to develop a fully implemented software solution using appropriate engineering and project management techniques.
View 'Group Project' on our Module Directory
Acquire critical and transferable skills associated with the creation and growth of new business ventures. You focus on the development process from start up to early stage growth of new ventures, new small businesses spin offs from large firms, and especially innovative, technology-based firms. You study opportunity identification, self-efficacy, ideas generation, bricolage and bootstrapping, developing business models, networking, marketing, and finance.
View 'Creating and Growing a New Business Venture (optional)' on our Module Directory
This course gives an introduction to computer security and cryptography, and then goes on to consider security as it relates to a single, network connected, computer. Introductory material is independent of any operating system but the consideration of tools will focus on those available for Linux, partly because its open-source nature facilitates this and partly because it is widely used on server systems. The introduction to cryptography will be used to consider its use in encryption and authentication.
View 'Computer Security' on our Module Directory
This module gives an introduction to intelligent systems and robotics. It goes on to consider the essential hardware for sensing and manipulating the real world, and their properties and characteristics. The programming of intelligent systems and real-world robots are explored in the context of localisation, mapping, and fuzzy logic control.
View 'Intelligent Systems and Robotics (optional)' on our Module Directory
Humans can often perform a task extremely well (e.g., telling cats from dogs) but are unable to understand and describe the decision process followed. Without this explicit knowledge, we cannot write computer programs that can be used by machines to perform the same task. “Machine learning” is the study and application of methods to learn such algorithms automatically from sets of examples, just like babies can learn to tell cats from dogs simply by being shown examples of dogs and cats by their parents. Machine learning has proven particularly suited to cases such as optical character recognition, dictation software, language translators, fraud detection in financial transactions, and many others.
View 'Machine Learning and Data Mining (optional)' on our Module Directory
We now live in the era of the cloud, fifty years after John McCarthy first proposed that computing could accessed like a public utility, just as we plug a device in to an electricity socket. Cloud computing, making large-scale datacentres and their facilities publically available over the Internet, is now an economic engine of growth. It certainly generates income for the giants of the computing industry, such as Amazon, Google, Microsoft and Oracle. But it also benefits numerous small and medium-sized enterprises (SMEs) that transfer their e-commerce, Big Data, Web and business analytics, and IT applications to a cloud in a way that would have been impossible previously, because the SMEs would have lacked the start-up capital. There are also employment opportunities in third-party companies that manage clouds, help transfer applications to a cloud, and create software to run novel applications on a cloud. The module will therefore be of interest to those hoping to enter the cloud-computing industry. More specifically this module provides students with an understanding of the key architectural features and technologies of cloud computing. It investigates virtualization of resources, the service oriented architecture, large-scale data management, and networking. The module also reviews contemporary developments such as green and mobile cloud computing. A theoretical analysis of cloud technologies is supplemented by analysis of actual data-centres and services, available from major providers including Amazon, Google, and Microsoft. Practical work within the module provides students with hands-on experience of virtualization and the performance of typical applications such as video transcoding and mapReduce-based parallel computation.
View 'Cloud Technologies and Systems (optional)' on our Module Directory
We live in an era in which the amount of information available in textual form - whether of scientific or commercial interest - greatly exceeds the capability of any man to read or even skim. Text analytics is the area of artificial intelligence concerned with making such vast amounts of textual information manageable - by classifying documents as relevant or not, by extracting relevant information from document collections, and/or by summarizing the content of multiple documents. In this module we cover all three types of techniques.
View 'Text Analytics (optional)' on our Module Directory
When a program ran too slowly, it used to be the case that one could simply wait a few months and improvements in the speed of processors would make it run quickly enough. Sadly, that is no longer the case and programmers must take a different approach -- and that leads us into the realm of high-performance computing. In this module, the jargon of and approaches to high-performance computing will be introduced. Lectures will cover the principles and theory of the subject, giving you knowledge of things like how to calculate how many processors will be needed to perform a particular task, while the companion practical sessions give you the chance to build a compute cluster and write programs to run on it and on the module's dedicated 100-node cluster.
View 'High Performance Computing (optional)' on our Module Directory
This module enables students from a variety of different computing backgrounds to become competent developers of web applications in a major contemporary web development system using different design philosophies. Throughout the module themes will be illustrated using real world applications. Students will also develop a range of partial and complete web applications in laboratory classes and assignments.
View 'E-Commerce Programming (optional)' on our Module Directory
On a placement year you gain relevant work experience within an external business or organisation, giving you a competitive edge in the graduate job market and providing you with key contacts within the industry. The rest of your course remains identical to the three-year degree.
- Courses are taught by a combination of lectures, laboratory work, assignments, and individual and group project activities
- Group work
- A significant amount of practical lab work will need to be undertaken for written assignments and as part of your learning
- You are assessed through a combination of written examinations and coursework
- All our modules include a significant coursework element
- You receive regular feedback on your progress through in-term tests
UK entry requirements
GCSE: Mathematics C
IB: 32 points, including Standard Level Mathematics grade 4, if not taken at Higher Level. We are also happy to consider a combination of separate IB Diploma Programmes at both Higher and Standard Level. Please note that Maths in the IB is not required if you have already achieved GCSE Maths at grade C or above.
Exact offer levels will vary depending on the range of subjects being taken at higher and standard level, and the course applied for. Please contact the Undergraduate Admissions Office for more information.
BTEC Extended Diploma: DDD (in relevant subject)
International and EU entry requirements
We accept a wide range of qualifications from applicants studying in the EU and other countries.
for further details about the qualifications we accept. Include information in your email about the
high school qualifications you have already completed or are currently taking.
IELTS entry requirements
English language requirements for applicants whose first language is not English: IELTS 6.0 overall. (Different requirements apply for second year entry.)
If you do not meet our IELTS requirements then you may be able to complete a pre-sessional English pathway that enables you to start your course without retaking IELTS.
If you are an international student requiring a Tier 4 visa to study in the UK please see our immigration webpages for the latest Home Office guidance on English language qualifications.
Other English language qualifications may be acceptable so please contact us for further details. If we accept the English component of an international qualification then it will be included in the information given about the academic levels required. Please note that date restrictions may apply to some English language qualifications.
Our Colchester Campus events are a great way to find out more about studying at Essex. In 2017 we have three undergraduate Open Days (in June, September and October). These events enable you to discover what our Colchester Campus has to offer. You have the chance to:
- tour our campus and accommodation
- find out answers to your questions about our courses, student finance, graduate employability, student support and more
- meet our students and staff
Check out our Visit Us pages to find out more information about booking onto one of our events. And if the dates aren’t suitable for you, feel free to get in touch by emailing email@example.com and we’ll arrange an individual campus tour for you.
If you live too far away to come to Essex (or have a busy lifestyle), no problem. Our 360 degree virtual tour allows you to explore the Colchester Campus from the comfort of your home. Check out our accommodation options, facilities and social spaces.
Our staff travel the world to speak to people about the courses on offer at Essex. Take a look at our list of exhibition dates to see if we’ll be near you in the future.
Applications for our full-time undergraduate courses should be made through the Universities and Colleges Admissions Service (UCAS). Applications are online at: www.ucas.com. Full details on this process can be obtained from the UCAS website in the how to apply section.
Our UK students, and some of our EU and international students, who are still at school or college, can apply through their school. Your school will be able to check and then submit your completed application to UCAS. Our other international applicants (EU or worldwide) or independent applicants in the UK can also apply online through UCAS Apply.
The UCAS code for our University of Essex is ESSEX E70. The individual campus codes for our Loughton and Southend Campuses are ‘L’ and ‘S’ respectively.
Visit days and interviews
Resident in the UK? If your application is successful, we will invite you to attend one of our visit days. These run from January to April and give you the chance to explore the campus, meet our students and really get a feel for life as an Essex student.
Some of our courses also hold interviews and if you’re invited to one, this will take place during your visit day. Don’t panic, they’re nothing to worry about and it’s a great way for us to find out more about you and for you to find out more about the course. Some of our interviews are one-to-one with an academic, others are group activities, but we’ll send you all the information you need beforehand.
If you’re outside the UK and are planning a trip, feel free to email firstname.lastname@example.org so we can help you plan a visit to the University.