About the course
This is a degree in world-making. You craft stories, characters and plot in order to build imaginary worlds that a player can journey through. Our work is driven by creativity and imagination as well as technical excellence; at Essex you master both game design and computer programming, giving you total control over the worlds you want to create.
Our course gives you the skills to design and specify complex, non-trivial games through focusing on the following areas:
- The mechanics of a game, including gameplay elements and the relationship with story
- The concepts and techniques of computer game programming
- Real and virtual worlds
- Artificial intelligence behaviours for non-player characters
- 2D and 3D graphic effects and game objects (e.g. weapon systems)
At the end of your course, you will be able to create the outline design specification for a computer game of your own design, and to implement a game using industry-standard techniques.
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). /p>
Both for entertainment and for more serious purposes such as virtual reality training, computer games, gamification and games intelligences are increasingly important in today’s world.
“I had some of the best years of my life at Essex: a mixed bag full of joy, freedom and hard work. Since graduating, I have been running my own business which focuses on web and open source technologies. I still look back to some of the modules that I studied which help me in my business operations; studying at Essex changed the way I approach my work.”
Dlair Kadhem, BSc Computer Games and Information Technology, 2005
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
The University of Essex was the birthplace of the ‘virtual world’. Multi-User Dungeons (MUD) – multi-player, real-time virtual worlds – were created by our students, including Richard Bartle, who still teaches Computer Games here today. Richard was also included in Geek.com’s list of the most influential game developers of all time.
Our research staff also include Professor Victor Callaghan, who researches immersive reality, creative science and education technology; Dr Michael Gardner, who ressearches virtual reality systems and mixed-reality environments; and Dr Adrian Clark, who works on computer graphics and augmented reality.
- Essex is one of three co-founding universities of the new Centre for Doctoral Training in Intelligent Games and Game Intelligence
- 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.
We have many graduates in senior positions in the computer communications industry, as well recent graduates working in IT and computer companies. 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.
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 secure impressive roles, including as a Java/Actionscript Developer for Playtech and as an Associate Software Developer for Sky.
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 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
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' on our Module Directory
Most players think that designing computer games must be easy. How hard can it be? Well, writing books and painting pictures is also “easy”, but would you want to read those books, hang those pictures on the wall – or play those games? This module can’t teach you how to design games, any more than a creative writing module can teach you to write novels or an oil painting module can teach you to paint portraits. What it can do is help people who want – who need – to design games to hit the ground running. Where you run after that is up to you!
View 'Computer Game Design' on our Module Directory
This module adds game-specific techniques and material to the general-purpose programming abilities acquired previously. Topics include fundamental game classes and loops; working with 2D graphics, images and sound; collision detection, Game AI, particle effects, procedural content generation, physics engines and more. Students showcase their programming skills and creative flair by designing and implementing a 2D video game.
View 'Computer Game Programming' 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' on our Module Directory
The robots are coming into part of our lives, autonomous cars will drive themselves, drones will delivery 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
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 (optional)' 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 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
More and more, we need the systems that we construct to do what we want without having to be told every step: robots and non-player characters in games ought to be able to work out what to do for themselves; computers ought not to ask users for information if they can ask each other. Our best current hope for doing this is to construct systems as “agents” - systems that have goals, sense the world around them, and decide how to respond. This module introduces the basic computational techniques for doing that.
View 'Intelligent Agents' 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' 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' on our Module Directory
Want to learn about more advanced programming constructs and techniques? Topics covered in this module include concurrency, distributed programming, design patterns, and others. We will also take a closer look at some of the programming concepts taught previously. The module features a substantial, non-trivial assignment that should help you to hone - and demonstrate - your programming skills.
View 'Advanced Programming (optional)' on our Module Directory
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
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
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
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.
View 'Evolutionary Computation and Genetic 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.
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.
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.
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 email@example.com 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 firstname.lastname@example.org 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.