NEED TO KNOW CODE! - INTRODUCTION TO GAME PROGRAMMING - 2025/6

Module code: ELI1041

Module Overview

Need to Know Code! - Introduction to Game Programming provides a rigorous grounding in the programming techniques that you need to know to create video games. You will explore programming using the established languages such as C# or C++, and learn about object-oriented approaches which are used in video games and IT industries.This module takes you through the fundamental principles of computer programming, as applied to the context of making video games. We begin by looking at areas such as programming environments and tools, data types, variables, operations, scope, functions and selection. Whilst you explore these essential techniques by practicing your coding, we will also be looking ¿under the hood¿ at how concepts such as memory, bits and bytes. As the module progresses, you will gain increasing fluency in coding and problem solving, as you develop your ability to program game mechanics. As we explore concepts such as classes and inheritance, you¿ll develop object-oriented thinking, which allows you to design and structure your programming in ways that promote reliable, reusable code. By the end of the module, you¿ll have gained a richer understanding of programming for games, opening the doorways to subsequent work in different programme languages and game engines. This module provides an essential grounding in industry-standard programming techniques, providing a deeper understanding of how to design and structure code effectively for creating video games. The concepts this module introduces will allow students to gain confidence and fluency in programming for video games. The object-oriented approaches we will explore are transferrable to a wide range of other programming languages and development tools in the video games industry and IT fields more broadly.

Module provider

Literature & Languages

Module Leader

MOONEY Stephen (Lit & Langs)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 4

Module cap (Maximum number of students): N/A

Overall student workload

Independent Learning Hours: 96

Lecture Hours: 24

Laboratory Hours: 12

Guided Learning: 12

Captured Content: 6

Module Availability

Semester 2

Prerequisites / Co-requisites

None

Module content

Indicative content includes:


  • Overview of programming, scripting, and operating system structures Programming fundamentals

  • Variables, functions, logic and conditionals

  • Control flow, Input/Output

  • Event driven models

  • Objects/Classes

  • Controlling images and sound

  • Embedded scripting

  • Introduction to game engines and game creation

  • Creative coding

  • Using assistive tools


Assessment pattern

Assessment type Unit of assessment Weighting
Coursework Weekly Lab Tasks 30
Project (Group/Individual/Dissertation) Programming Project (1000 words) 70

Alternative Assessment

N/A

Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate achievement of the module learning outcomes.Laboratory seminar discussion with ongoing tutor feedback is designed mainly to assess transferable skills in working as part of a group and applying learning materials to creative design and practical/professional skills in developing and presenting coding work in suitably professional form and to desirable technical standards as well as expressing ideas and reflective critical analysis in oral communication. It also assesses subject knowledge in the different forms of practical and contextual thinking and expertise explored in relation to coding and games design and cognitive/analytical skills in creatively thinking through posited problems that require a coding solution in class.The Continual Exercise Assessment and Portfolio with Reflective Critical Commentary assessments allow students to demonstrate: 

  • subject knowledge relating to the close analysis of form, meaning, coding language and engines and their context in games design (including sustainability and global and cultural capability narratives where appropriate)
  • cognitive/analytical skills in applying coding techniques to solving games design challenges and problems and in reflective critical thinking
  • professional/practical skills in generating and communicating ideas, designing coding solutions, testing and realising a coding output that will feed forward into their future employability in the games industries and beyond 
  • creative engagement with the opportunities and limitations of particular types of game engine, realtime rendering engine, code framework and/or programming language as well as the related writing and designing skills that will feed into their games design and other modules in future years of the degree, including their final major project in their final year
  • creative engagement with current themes and challenges within games design as these relate to coding frameworks and techniques, such as sustainability and global cultural awareness matters
  • an ability to locate their own creative coding design work fruitfully and articulately in relation to existing coding practices, techniques, frameworks and platforms 
 Thus, the summative assessment for this module consists of:
  • Weekly Lab Tasks (30%)
This summative assessment is an opportunity for students to present their responses to weekly lab exercises and tasks set for the module. The weekly assignments cover each of the techniques presented in class and build toward the creative project. 
  • Programming Project (70%)
This summative assessment is an opportunity for students to present a small project-based portfolio consisting of a game created using programming concepts and techniques. This summative assessment represents a culmination of the module¿s output with students presenting a larger creative project of creative digital visual work. They will also submit a reflective critical commentary on the project (1000 words). Formative Assessment & Feedback:Verbal feedback and formative ¿feed forward¿ is provided through laboratory seminar discussions. Likewise with tutor and peer feedback including on their designs, development and reflection for the summative coursework as it builds up over the term as part of the confidence building safe space of the these sessions. The module includes regular assignments covering creative responses and coding skills for the topics and techniques under investigation.Design, coding, presentation, professional writing and critical reflection skills will be developed and will feed forward to the weekly and final summative assessments, helping build students¿ resilience and confidence in preparing work presentation and assessment.There is the option of a range of other feedback mechanisms agreed between tutor and students in week 1 of the module, such as seminar contribution and writing exercises.

Module aims

  • introduce fundamental concepts programming for games
  • explore how code relates to computer architecture and memory
  • provide students with a grounding in the use of key concept such as data types, variables, operations, scope, functions and selection
  • develop object-oriented thinking for designing classes which make use of principles such as abstraction, encapsulation, inheritence and polymorphism
  • equip students with deeper knowledge of how code can be used to design game mechanics and solve problems when creating games
  • facilitate students¿ exploration of games engines, real-time rendering, code frameworks and programming languages applicable to games design in the gaming industries
  • prepare students to make informed decisions about what approaches and techniques may be most suitable for a specific application and to devise and implement their own coding mechanics if appropriate
  • build confidence in designing and presenting their coding work and introduce students to the process of reflecting upon their coding activities

Learning outcomes

Attributes Developed
001 Identify basic programming concepts and applications to design simple video game mechanics CPT
002 Communicate coding and scripting terminology and competence with software development and technologies KPT
003 Utilise appropriate game logic and game data to respond to problems with coding design techniques to create and modify games KCPT
004 Evaluate coding architectures and applications and game engines and apply this to aspects of games design KCPT
005 Select, test and make appropriate use of software, processes and environments to create working game effects in code KCP
006 Determine the output of a game oriented program based on its source code or script KCP
007 Design and present a portfolio of functional coding outputs and reflect on these in appropriately critical academic language KCPT

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to:


  • hone and develop students' coding skills (in a variety of forms) by developing an awareness of the application of these to their games design practice by exposing them to different games engines, realtime rendering engines, code frameworks and programming languages applicable to the games design field in the gaming industries, the broader creative industries and beyond by setting in-class briefs, discussion and sharing of coding experience alongside the study of learning materials and the weekly assessment tasks

  • take students along the journey to attaining basic competencies in the understanding and use of programming and coding skills applicable to video games design and prepare them for more advanced coding knowledge and practice at level 5

  • facilitate students' creative independence and ability to generate coding solutions by illustrating pertinent case study examples and encouraging them to think about ways in which coding knowledge and techniques can be applied to solving gamic problems and by incorporating practical laboratory seminar sessions where students can experiment with practical programming techniques and principles

  • start students on the journey to developing the applied research and writing skills they will need to produce critically informed reflective academic writing and presentation skills by developing competency and confidence in writing and presenting material for feedback and assessment in appropriate media such as the weekly forum posts in response to weekly challenges on the module platform and the reflective critical commentary and by encouraging thinking about forms and professional standards in writing styles through the safe space of the laboratory seminar setting where ideas, advice and responses are shared with other new coders

  • equip students with a basic grounding in resourcefulness and resilience as new coders by giving them the freedom to experiment with forms, modes and styles in response to the coding and design briefs in class, and by providing them with the supportive and encouraging safe space of the laboratory seminar within which they can take the beginning steps in receiving and giving constructive critical and creative responses to their own work and those of other students and begin to develop a further awareness of their creative process in relation to the technology and game design



The learning and teaching methods include:

a combination of lecture materials, laboratory seminars, captured content, guided learning and independent learning, and includes a weekly laboratory seminar where students discuss set tasks and challenges they have experienced and respond to those of others in a supportive, constructive and open manner.

Students will engage with preparatory reading, including, where relevant, creative design work by other students, in advance of the laboratory seminar which will combine discussion of coding learning materials with in-class creative or critical exercises and briefs each week. Designed to help students reflect on and apply their learning to creative and critical outputs, the laboratory seminar environment acts as a safe space for developing and exchanging ideas, support, design, coding and writing skills.

Varied learning materials such as lexical texts, visual materials, sculptural objects and other physical material prompts, video and sound objects, games and gamified texts are designed to increase student accessibility and will present them with a range of interpretive materials and approaches with which to work and develop their own thinking and creative responses.

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list

https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: ELI1041

Other information

The School of Arts, Humanities & Creative Industries is committed to developing graduates with strengths in Employability, Digital Capabilities, Global and Cultural Capabilities, Sustainability, and Resourcefulness and Resilience. This module is designed to allow students to develop knowledge, skills, and capabilities in the following areas:

Employability: this 1st year module develops coding skills in relation to game design and other creative industry applications from a range of different perspectives, engines, coding frameworks and programming languages. This is done with an industry facing approach to generating ideas and designing and implementing coding solutions. In focussing on and growing key technical coding and design skills, in this module you will develop the sorts of professional abilities that will facilitate your practice as a professional games design practitioner working with code and its technical and creative applications. Students will study programming fundamentals, controlling images and sound, creative coding, using assistive tools and more.

The skills and aptitudes developed in this module will feed forward to the wider games coding and games design modules throughout your degree, including digital environments, gameplay programming and coding behaviours, animation and virtual production. Equally important for employability within these areas (and often overlooked) is the development of social knowledge around coding, games design and personability.

Digital Capabilities: this module, and the programme as a whole, is built on the very latest techniques and technologies developed and employed by the games and related industries, thus ‘digital capabilities’ is at the heart of your learning in Need to Know Code! - Introduction to Game Programming. Contemporary video games design and production is an inherently ‘digital’ affair of course, and this module engages at all levels with technology and digital coding assets and skills, such as basic coding and scripting, using event driven models, embedding scripting, working with objects and classes, and more. In addition, the opportunities and challenges posed by generative AI in games design will form part of the skills development of students. Appropriate use of digital media and communication platforms is increasingly important for visual arts and creative industry professionals and students will gain and develop those invaluable skills as part of this module.

As part of the module laboratory seminars, you will also be encouraged to communicate with one another and to work on some exercises using SurreyLearn, Microsoft Teams, and other digital and file and output sharing platforms, skills will be carried forward to other modules across your degree and beyond.

Global and Cultural Capabilities: Games design as a broad field has a significant application to human experience, human interaction and immersion that crosses borders and boundaries reaching all parts of our global cultures, while acknowledging (and hopefully embodying) those aspects that make different cultures so valuable and vibrant. You will be asked to respond to forms, modes and challenges from more than one perspective, platform and methodology and potentially in relation to different cultures and times as part of the challenges set for you on this module. The weekly laboratory seminars give students the discuss their own coding solutions to games design challenges and briefs and to experience and respond to those of others in a friendly, constructive and open forum. You will be exposed, throughout their degree, to a wide range of approaches, textuality and visuality from all over the world and students are encouraged to bring this knowledge into their design practice right from the beginning of their study of games and the role of design in these.

Resourcefulness and Resilience: Through the shared experience that comes about from sharing work with other students, this module will help equip you for the real world setting of your current and future games design practice. Not only will we look at work produced by other coders and think about their experiences of life in the field, you will also benefit from the experience of your peers, from your tutors who all have games design coding skills and experience and from periodic guest speakers attached to the Games Design programme as you progress through your degree.

This module provides students with a number of challenges that reflect the current state of the art. Students need to respond to these with inventiveness and flexibility and are often required to research and develop their own solutions to given problems. This module also helps set the stage for more detailed application in later games design and games studies modules on your degree where coding will be essential. As with other modules on the degree, the importance of connecting to games/gaming and design communities that will be essential to your current and future emotional and practical wellbeing and success as a designer.

Sustainability: Students are made aware of sustainable design and production practices of games, their players and the interfaces between them. In this module, coding applications will be part of that broad discussion. Furthermore, students may choose to produce creative work that directly addresses environmental and sustainability issues as part of their subject matter. Games design and coding decisions can also realise cultural sustainability goals, playing an important role in increasing and maintaining awareness of cultural identity, themes and experience.

Teachers across the School also work closely with the University of Surrey’s Institute for Sustainability to explore and promote the United Nation’s Sustainable Development Goals.

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Games Design BSc (Hons) 2 Compulsory A weighted aggregate mark of 40% is required to pass the module

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2025/6 academic year.