Programming for Designers (Autumn 2024)
Official course description, subject to change:
Course info
Programme
Staff
Course semester
Exam
Abstract
The course introduces basic theoretical and practical approaches to programming and game engine functionality using the C# language. It is intended for students with little or no prior experience with programming. The course teaches how to build games-related software using a game engine (Unity engine). The teaching emphasizes small programming exercises.Description
Beyond the designated role of a programmer or a developer, the other roles in a game development team benefit from a basic understanding of programming. Programming skills are especially beneficial for designers whose ideas need to be clear, well-communicated, and, eventually, implementable. Understanding the basics of programming offers designers some of the necessary vocabulary to communicate with programmers and an insight into how programmers work and why they make certain decisions. Moreover, programming is an exciting and empowering tool for creative expression that offers designers new possibilities. It is beneficial that designers can create their own prototypes and software modifications even without a programmer.
The course revolves around practical programming exercises preceded by basic programming concepts.
The students will learn the core concepts related to game programming as well as the key features, tools, and structures of modern game engines. While the 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 students build their own portfolio of development projects.
Course curriculum summary:
- Game engine basics, especially Unity game engine
- Game loops
- Data structures and types
- Control flow
- Object-oriented programming (OOP)
- 2D physic
- Animations
- Handling user input
- Finite-state machines
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 games using the C# programming language
- Select and integrate existing code and libraries
- Apply a range of basic algorithms
- Apply a range of basic algorithms
- Communicate software solutions and ideas with peers
- Predict software functionality and behavior from source code
- Debug and troubleshoot programming errors
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.