Official course description:

Full info last published 15/05-23
Course info
Language:
English
ECTS points:
7.5
Course code:
KGPRDES1KU
Participants max:
40
Offered to guest students:
yes
Offered to exchange students:
no
Offered as a single subject:
yes
Price for EU/EEA citizens (Single Subject):
10625 DKK
Programme
Level:
MSc. Master
Programme:
MSc in Games
Staff
Course manager
Assistant Professor
Teacher
PhD student
Course semester
Semester
Efterår 2023
Start
28 August 2023
End
26 January 2024
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract
The course is an introduction to the basic theoretical and practical approaches to programming and game engine functionality using a general-purpose language. The course is intended for a general audience with no prior programming experience, and taught with an emphasis on small programming exercises.
Description

Beyond the designated role of a programmer or a developer, also the other roles in a game development team benefit from a basic understanding of programming. This is particularly true to designers whose ideas need to be not only clear and well communicated but also, eventually, implementable. Understanding the basics of programming offers designers some of the vocabulary needed to communicate with programmers as well as an insight into how programmers work and why they make certain decisions. Moreover, programming as an exciting and empowering tool for creative expression offers new possibilities for designers. It is beneficial that a designer can create their own prototypes and software modifications even without a programmer.

The course addresses these needs by facilitating multiple hands-on exercises together with addressing their theoretical underpinnings. The students will learn the core concepts related to game programming (e.g. game engines, OOP vs. Entity-Component Architecture, game loops, 2D physics) as well as the key features, tools, and structures of modern game engines (e.g. game object composition, scene graphs, shaders, game loops, events). While Unity game engine will be used in class, the concepts are explained in a way that makes them transferable to other contexts. During the course, the various hands-on programming exercises will help the student to build their own portfolio of development projects.

Formal prerequisites
The course is intended for a general audience with no prior programming experience, and taught with an emphasis on small programming exercises. As an introductory course, there are no prerequisites.
Intended learning outcomes

After the course, the student should be able to:

  • Design and implement simple programs using a modern domain-neutral programming language
  • Write documentation of their own code
  • Select and integrate existing code and libraries
  • Apply a range of basic algorithms
  • Use version control systems
Learning activities

The course is organised around lectures, tutored 'hackathon' type programming sessions that relate to students' newly acquired skills, and presentation/feedback sessions around student solutions. During practical exercises, students work individually. Practical work will be interleaved with the theoretical lecture where there will be a lot of live-coding from the instructor instead of classical 2h lecture + 2 hour labs block structure.

Course literature

Recommended reading:

Nystrom, R. (2014). Game Programming Patterns. United States: Genever | Benning.

Spraul, V. A. (2012). Think Like a Programmer: An Introduction to Creative Problem Solving. United States: No Starch Press.

Gibson Bond, J. (2022). Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C#. United Kingdom: Pearson Technology Group Canada.

Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Lectures: 15%
  • Exercises: 45%
  • Assignments: 15%
  • Exam with preparation: 25%
Ordinary exam
Exam type:
D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D22: Submission with following oral exam supplemented by the submission.
Exam submission description:
For the exam, students are expected to submit a curated set of solutions to exercises that are done during the classes. The exam has an oral part where students are asked questions about their written exam submission.
Exam duration per student for the oral exam:
20 minutes


reexam
Exam type:
D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D22: Submission with following oral exam supplemented by the submission.
Exam duration per student for the oral exam:
20 minutes

Time and date
Ordinary Exam - submission Wed, 3 Jan 2024, 08:00 - 14:00
Ordinary Exam Wed, 24 Jan 2024, 09:00 - 21:00
Ordinary Exam Thu, 25 Jan 2024, 09:00 - 21:00
Reexam - submission Wed, 28 Feb 2024, 08:00 - 14:00
Reexam Tue, 12 Mar 2024, 09:00 - 12:00