SPI1004 Game programming
- Course codeSPI1004
- Number of credits15
- Teaching semester2027 Spring
- Language of instruction and examinationEnglish
- CampusHamar
- Required prerequisite knowledge
SPI1002 Introduction to Game, SPI1003 Fundamental Game Design for programmers
- Pointers (smart and shared pointers), memory allocation and control
- Delegates, interfaces, templates
- Engine colliders, timers, conditions, controls
- Version control, asset import
Learning outcome
Upon passing the course, students have achieved the following learning outcomes:
The student
- understand core principles of engine programming, including colliders, timers, and conditional systems
- can demonstrate understanding of memory management concepts, including static/dynamic memory and smart pointers (unique, shared)
- Can integrate assets into a project and make use of version control tools
The student
- can apply smart pointers and memory management strategies to ensure safe and efficient resource handling
- can implement delegates, interfaces, and templates to create modular and extensible engine code
- can design and integrate basic engine systems such as colliders for physics detection, timers for scheduling, and condition checks for logic flow
- can use version control tools for branching, merging, and collaborative workflows
- can import, organize, and manage game assets within an engine environment
The student
- can work independently and collaboratively on engine development tasks using professional coding and collaboration practices
- can critically evaluate coding approaches in terms of efficiency, maintainability, and scalability
- can communicate technical solutions clearly, both orally and in writing, to peers and non-specialists
The students work both individual and in groups to solve given assignments. Teaching is mostly done through pre-recorded videos or presented reading material. Learning is done primarily through learning activities in class, individual or in groups.
Each topic is introduced with study materials such as texts, pre-recorded video-lectures and online tutorials and minor assignments to be completed through self-study either individually or in groups prior to class. In class, there are student learning activities in the form of individual and group-based assignments, as well as group discussions, critique, pitches, and workshops.
Supervision will be conducted both at an individual level and in groups or project teams. This is to ensure that each student has the specific teaching resources and guidance needed in the collaborative projects and productions where “problem-based-learning” is used.
- 1 individual assignment
- 1 group assignment
- Attendance in all organised activities
| Form of assessment | Grading scale | Grouping | Duration of assessment | Support materials | Proportion | Comments |
|---|---|---|---|---|---|---|
Portfolio examination | ECTS - A-F |
For group assignments and exams, all participants in the group are collectively responsible for all content in the assignment / product / presentation.