About the course
Computer systems can be found everywhere: inside a mobile phone, at a hospital bedside, and inside your TV, washing machine and games consoles. Computer systems engineers explore how this works – what is needed to convert machines and machinery into useful computing. We’re for people who want to figure out what goes on inside the box.
Our course gives you a thorough introduction to computer science before focussing on systems engineering. You study areas including:
- Writing programs, programming embedded microprocessors and designing embedded microprocessor systems in C
- The design and function of modern operating systems
- The functionality hardware needs to provide for an operating system
We emphasise the importance of practical learning, and you also have the opportunity to undertake a major project or product development specified either by a member of academic staff or a partner company.
In addition to these topics, you also have the flexibility to explore other areas our department specialises in, such as computer security, Big Data, and robotics.
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).
“Essex is a fantastic place to study for people interested in telecommunications, computer networking, robotics or artificial intelligence, and my School of Computer Science and Electronic Engineering has strong partnerships within the industry. I now work for Google, fighting spam and improving the quality of search results in emerging European markets.”
Bogdan Suvar, BEng Computer Networks, 2011
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).
Your education extends beyond the university campus. We support you extending your education through providing the option of an additional year at no extra cost. The four-year version of our degree allows you to spend the third year studying abroad or employed on a placement, while otherwise remaining identical to the three-year course.
Studying abroad allows you to experience other cultures and languages, to broaden your degree socially and academically, and to demonstrate to employers that you are mature, adaptable, and organised. Popular destinations include:
- The United States
- New Zealand
- Latin America
- The Middle East
- Hong Kong
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 two 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 are dual boot Windows 10 and Linux. Apple Mac Computers are dual boot MacOS and Windows 10
- 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 (OMNet++)
- 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.
Demand for computer scientists and engineers is high; the IT and engineering sectors are growing at a rate that outstrips the supply of fresh talent. 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.
We have many graduates in senior positions in the computer communications industry, as well recent graduates working in IT and computer companies. Many occupy positions in the retail and services sectors, where computer expertise is in high demand, particularly in developing and managing computer servers and communications networks.
Our department has a large pool of external contacts, ranging from companies providing robots for the media industry, through vehicle diagnostics, to virtualisation of networks, and network security, who work with us and our students to help provide advice, placements and eventually graduate opportunities.
Our recent graduates have gone on to work for a wide range of high-profile companies including:
- Royal Bank of Scotland
- Force India F1
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.
We offer a flexible course structure with a mixture of compulsory modules and options chosen from lists. Below is just one example of a combination of modules you could take. For a full list of optional modules you can look at the course’s Programme Specification.
Our research-led teaching is continually evolving to address the latest challenges and breakthroughs in the field, therefore all modules listed are subject to change.
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
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
This module develops the fundamental concepts introduced in the Digital Systems Architecture. We examine how data are represented within digital systems, including floating point, 'text' and 'data' files, and how the conversions between internal and human-readable forms are performed. The design and applications of higher-level logic elements such as counters, registers and multiplexers are discussed, as well as the more general concept of the finite state machine and its design. Transmission of digital data between systems is introduced by examination of the RS232 protocol. Further, fundamental decisions on how such sources should be represented in digital format include sample rates and quantization accuracy are discussed. In the case of audio and video especially, the possibilities for signal processing and data compression are investigated
View 'Digital Electronic Systems' 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
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
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
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 overall goal of this module is to provide you with an understanding of how programs are written in C (a computer programming language) to solve engineering problems. Learn how to program an embedded microprocessor in C and how to design embedded mircroprocessor systems as solutions to various problems. Explore the design input and output modules for an embedded system.
View 'C Programming and Embedded Systems' on our Module Directory
A bare computer is just a complex pile of electronics. What a programmer needs is much higher-level: a human-usable interface; a file system; communication with other computers. The system should be able to share itself between many users, but stop them from interfering with each other's work. It should be secure. In short, what a bare computer needs is an operating system. This module studies the functionality an operating system must provide, and the principles of how that is done.
View 'Operating 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 (optional)' on our Module Directory
The robots are fast becoming part of our daily lives, autonomous cars will drive themselves, drones will deliver packages, and underwater vehicles will explore the oceans. This module covers fundamental knowledge on sensing, navigation, localisation, motion control, and decision making involved in most robotic platforms. You will be able to construct and program LEGO robots using Java language to perform a range of tasks.
View 'Robotics (optional)' 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 (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
Want to configure Internet routing protocols for interconnecting networks? Or configure Ethernet switches and associated protocols? Build on your understanding of Internet routing protocols, Ethernet and other IP networking. Gain practical experience of configuration. Design addressing structures and interconnecting strategies for campus scale networks.
View 'Computer and Data Networks (optional)' on our Module Directory
The aim of this module is to provide an introduction to the C++ programming language. The contents covered by this module include basic concepts and features of C++ programming (e.g., operator overloading), C++ Standard Template Library, and inheritance, function overriding and exceptions.
View 'C++ Programming (optional)' on our Module Directory
Digital systems are an important part of most electronic devices and systems. In this module students learn to design a small system using an industry-standard prototyping board based around a Xilinx FPGA. The module is laboratory based using Xilinx Computer-Aided Design (CAD) software and it builds on knowledge of digital circuits that students learn in CE161. Students learn how to design, and more importantly, how to debug and test a design, using laboratory test equipment, to convert an idea into working hardware.
View 'Digital Systems Design (optional)' on our Module Directory
The aims of this module are to introduce students to how ICT systems can be managed, and how business applications can be integrated. Topics include business process modelling; document management and workflow systems; lifecycle and software process issues in the context of information systems; methods and techniques for assuring the quality of systems. The taught theory will be complimented by guest lecturers from industry who will set the theory into a real life context.
View 'ICT Systems Integration and Management (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
This module provides you with an introduction to formal languages and the structure of compilers and their main components. Gain a comprehensive understanding of syntax and semantics of basic programming languages elements; explore the regular and context-free grammars as well as the lexical and static analysis. By the end of this module you will be able to describe formal languages using BNF notation, explain the link between finite state automata and regular expressions and implement key parts of a compiler for a simple language.
View 'Languages and Compilers (optional)' on our Module Directory
Evolutionary computation is an exciting area of artificial intelligence that focuses on systematic methods (known as evolutionary algorithms) inspired by Darwinian evolution for getting computers to automatically solve problems starting from a high-level statement of what needs to be done. Evolutionary algorithms are today routinely used to solve difficult problems in industry, medicine, biology, finance, and much more. Evolutionary algorithms can even consistently solve difficult problems which require solutions in the form of computer programs. This is a form of automatic programming that is known as genetic programming. In this module you will learn how to use evolutionary algorithms and genetic programming to solve real-world problems from an international authority in these areas.
As humans we are adept in understanding the meaning of texts and conversations. We can also perform tasks such as summarize a set of documents to focus on key information, answer questions based on a text, and when bilingual, translate a text from one language into fluent text in another language. Natural Language Engineering (NLE) aims to create computer programs that perform language tasks with similar proficiency. This course provides a strong foundation to understand the fundamental problems in NLE and also equips students with the practical skills to build small-scale NLE systems. Students are introduced to three core ideas of NLE: a) gaining an understanding the core elements of language--- the structure and grammar of words, sentences and full documents, and how NLE problems are related to defining and learning such structures, b) identify the computational complexity that naturally exists in language tasks and the unique problems that humans easily solve but are incredibly hard for computers to do, and c) gain expertise in developing intelligent computing techniques which can overcome these challenges.
View 'Natural Language Engineering (optional)' on our Module Directory
Interested in designing, programming and evaluating AI robots? To understand the potential applications for AI in the real world? Study different approaches to the use of AI robotics, along with associated design methodologies. Gain practical experience of building your own autonomous mobile robots and intelligent machines, from sensing to action.
View 'Mobile Robotics (optional)' on our Module Directory
Computer vision is the discipline that tries to understand the content of images and videos. It has an extraordinarily wide range of applications; well-known ones include inspection on production lines, reading number plates, mixing live and computer-generated action in movies, and recognising faces. However, researchers are working on applications such as driverless cars, building 3D models from photographs, robot navigation, gaming interfaces, and automated medical diagnosis -- in fact, whenever you as a human looks at the world and try to understand what you see is fair game for computer vision. This module introduces you to the principles of computer vision through a series of lectures and demonstrations. You have an opportunity to learn how to use these principles and algorithms on real-world vision problems in the associated laboratories using the industry-standard toolkit, OpenCV.
View 'Computer Vision (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
Embedded systems have become more pervasive and powerful to take on truly sophisticated functions in recent years. When facing with the rapid technical updating and complicated market requirements, the designers have to use advanced design techniques to deal with the complexity. In this module, you will gain the experience of full embedded system design process, and the fundamental knowledge on hardware components and real time programming. The hand-on practice helps your understanding of embedded system design process.
View 'Advanced Embedded Systems Design (optional)' on our Module Directory
How do you secure networked computers and systems? What are the methods you can apply to detect, mitigate and stop attacks? Examine common network security vulnerabilities and design computer network architectures that reduce risk. Study suitable security techniques and key management skills required for encrypted communication/authentication.
View 'Network Security (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.
On your year abroad, you have the opportunity to experience other cultures and languages, to broaden your degree socially and academically, and to demonstrate to employers that you are mature, adaptable, and organised. 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: 30 points, including Standard Level Mathematics or Maths Studies 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: DDM (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.
English language requirements
English language requirements for applicants whose first language is not English: IELTS 6.0 overall. Different requirements apply for second year entry, and specified component grades are also required for applicants who require a Tier 4 visa to study in the UK.
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 listed above. Please note that date restrictions may apply to some English language qualifications
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.
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.
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.
Applicant Days and interviews
Resident in the UK? If your application is successful, we will invite you to attend one of our applicant 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 applicant 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.
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.