Curious about studying Computer Science (Games) - BScat University of Greenwich? We've gathered all the key details—entry requirements, modules, fees, and more. Hear from real students by checking out reviews, or take the next step by booking an open day to explore it for yourself.
Bachelor of Science - BSc
University of Greenwich (Greenwich Campus)
Sandwich
Sep 2026
4 Year
This computer science degree with a specialism in games provides the skills you need for a variety of games-related careers in computing. This degree in Computer Science specialising in games will provide you with a firm grasp of the science underpinning computer and software systems. Modules you can study on this degree include Games Technology, Games Design and Development and Advanced Games Design and Development. You will gain practical experience of developing systems using the latest technologies and techniques, as well as exposure to the latest trends that will shape the future of computer science. By the end of the course, you will be equipped to work independently and to develop and adapt your skills throughout your future career.
On successful completion of this course a student will be able to: Being acquainted with the various fields which structure the Computer Science discipline at an academic and industrial level. Understand how new applications areas emerge from technology development and user needs. Be familiar with the main information sources for the various fields of the discipline (societies, interest groups and conferences).
To provide students with a solid foundation for understanding the fundamentals of data structure and algorithms and experience in using them for problem solving.
This module aims to introduce computer systems, their architectures, the associated enabling communication systems and the standards and protocols that facilitate their operation. On successful completion of this course a student will be able to: Describe the hardware and software components of computer and communication systems; Demonstrate an understanding of the basic functions to be addressed to enable reliable and efficient communication between digital systems; Identify the need for standards and protocols and be aware of the major standards and responsible bodies.
Understanding how a compiler consumes source code and generates machine instructions is crucial in writing logically correct and optimised computer programs. In addition, recognising how state machines and formal grammars underpin machine execution and memory utilisation is important in understanding how programs can be optimised. In this course we will explore state machines, together with elements of the Chomsky hierarchy and how these relate to compiler theory. The course also utilises a fundamental course in programming to write code in support of understanding compiler components. We aim to provide students with a fundamental understanding of compiler theory and related concepts, such as computer architecture, formal languages, state machines and program execution.
The main aim it to prepare students with sufficient mathematics tools and techniques for the level 5 Computer Science mathematics courses associated with these programmes and possible level 6 mathematics courses. The course aims to ensure students have fundamental mathematics knowledge, of a similar level to A? level mathematics and above. Knowledge acquired and revisited is to be learnt at a deeper level than, for example, a student simply revising for a final module exam. Hence the course is to be divided into two sections, assessed by online test. It is envisaged that labs would be timetabled for students to take the tests, when the student is ready. A student with excellent mathematical skills might decide to take the tests earlier than a student with less recent mathematics experience. A student will be allowed to retake the tests, until they pass, even in term 2 if necessary, as the mathematics offered is fundamental to the progression of the student to later courses.
To provide solid foundation in programming concepts and hands-on experience in using them. The module introduces computer programming using different programming paradigms, such as functional and object- oriented programming. You will gain an understanding of the key commonalities, differences and trade-offs between these paradigms and their applicability to different programming problems. Through practical coding exercises, you will develop key design, problem solving, and coding skills that emphasise quality of software design for scalability and reuse, and the need for a professional approach to software development. Through exposure to the different paradigms you will build confidence in your ability to learn and take-on new programming languages - the aim is to "learn how to learn" new languages. As a polyglot software developer, you will broaden your employability prospects in a constantly evolving information technology industry with rapidly changing requirements.
Distinguishing between software programming and an engineering approach to the development of software systems is crucial to producing quality software. Software Engineering is at the core of any software development project and to succeed in this domain requires an understanding of the fundamental software engineering models and methods used, and an appreciation of the challenges involved in applied practice. Specialist knowledge and practical skills in this area are therefore in high demand. This module aims to introduce disciplined approaches to software development and provide solid foundation in the concepts, practices and management of software engineering. You will gain an appreciation of the intrinsic challenges of greenfield and brownfield software development and will develop an understanding of the core concepts that underpin current software engineering practice. Strong emphasis is on the practical application of these principles to the development of a significant software system within a team. You will gain hands-on experience using tools and techniques commonly used in the industry, and dealing with the reality of team- based software development. The module prepares you for future work within multi-functional teams and will help broaden your employability prospects by building the core skill set needed by software engineers and members of development projects.
This course is designed to provide students with an environment that closely resembles a full development cycle of a video game developed in a small studio. Students will form large teams and use established management techniques to oversee the development of a fully realised demonstration of a video game.
Working effectively as a programmer or software engineer requires a sophisticated mixture of technical skills and knowledge. Although details of technologies may change frequently many concepts such as: componentisation, concurrent programming, use of design patterns, and programming in a distributed environment are likely to remain relevant for the foreseeable future. All programmers and software engineers should have an understanding of the role and use of supporting tools e.g. for testing, version control and documentation and project building. This course aims to broaden and deepen the skills and knowledge that the students will have gained from completing their level 4 programming courses. The skills and concepts mastered will be useful in themselves and will form a firm foundation on which higher-level skills can be built at level 6
This course aims to provide computer science students with the knowledge and understanding of mathematical methods, numerical and statistical techniques required to solve problems and analyse data throughout their undergraduate studies as well as in their further studies of computer science or in the work place.
This course aims to advance the theoretical study of games and games development, increasing students skills in and knowledge of; storyboarding, interactive systems, user interface design, 3D Design, AI techniques, level development, AR/VR, Serious games and the legal issues involved in games production.
C++ is one of the most popular languages in the computing and games industries. The Financial sector, the service sector, AAA game studios and even indie game studios all use C++ due to its maturity and capabilities. C++ code is operating system independent and therefore can be portable, hence it is used for development on many game consoles. It is also language that was written by an academic, for academic (i.e. research) purposes. Its computational power and lightness of the code produced make C++ a great tool for research and a popular language for high computational purposes such as simulations. This is an important language that will help increase the employability of our graduates and arms them with skills that are sought after, making out graduates more desirable in the competitive market.
Work Placement Course - CMS
This course is designed to provide students with an environment that closely resembles a full development cycle of a video game developed in a small studio. Students will form large teams and use established management techniques to oversee the development of a fully realised demonstration of a video game.
The Final Year Project requires students to work independently, abstract the essentials of a problem, obtain solutions by appropriate methods, and present their arguments through a user acceptance testing of the end-product/artefact as well as a well-reasoned formal dissertation report.
To build a strong foundation with the Java Virtual Machine, its concepts and features. To exploit modern programming languages that run on the Java Virtual Machine and evaluate the key commonalities, differences and trade-offs between these languages and their applicability to different programming problems and environments.
To provide students with a solid foundation in the principles and practices of information security and looks towards future directions of cyber security and cyber-physical security in a digital age.
This course is designed to provide students with an environment that closely resembles a full development cycle of a video game developed in a small studio. Students will form large teams and use established management techniques to oversee the development of a fully realised demonstration of a video game.
120 Grades/points required
Not currently available, please Contact University for up to date information.
The University of Greenwich is a leading higher education institution whose driving force is an ethos of ‘no limits'. Th...