Table of contents

The course is connected to the following study programs

Teaching language

English

Learning outcomes

On successful completion of the course, the student:

  • Can explain the relevance of games and play in modern society and account for the historical development and cultural significance of games in general, and Esports in particular.
  • Can apply terminology and theories related to games, game design, and esport to analyze games, game mechanisms, and contemporary trends.
  • Can demonstrate knowledge of core principles of game design, including mechanisms, components, rules, and player experience.
  • Can explain cognitive concepts and biases as they pertain to players, game systems and ethical considerations.
  • Can design, document, and evaluate game concepts.
  • Evaluate and critique game designs
  • Can create appropriate prototypes.
  • Understands fundamental programming concepts, including variables, control structures, functions, data structures, basic architecture and scope.
  • Can analyze and debug code
  • Can develop programs using iterative and agile work processes, including planning, documentation, testing, version control and continue deployment.
  • Create simple distributed multiplayer systems.
  • Understands programming paradigms, including but not limited to; object oriented, procedural, functional, test-driven, behavioral
  • Can use common design patterns.
  • Can use third-party libraries, APIs, and existing tools to support game and software development.
  • Can do basic beta testing and distribution.

Contents

Games have played a central role in human culture for millennia, evolving alongside society, technology, and forms of play. This course explores games both as cultural artifacts and as technical systems, with a strong emphasis on programming as a tool to

make games. The course introduces the historical and cultural development of games and connects this foundation to modern games, Esports, and interactive media. Students will analyze how game mechanics, rules, and systems shape player experiences and reflect cultural trends. Problem solving is skill gamers often master well and is a good introduction to the tools used for creating games.

The major focus of the course is programming as a tool for creating and expressing games and play. Students will learn core programming principles such as problem solving, variables, data types, control structures, functions, and data structures, and apply them in game-related contexts. The course progresses from smaller scripts to larger, structured programs, emphasizing clean code, debugging, and iterative development. Programming paradigms are introduced to support the development of more complex game systems. Students will work with version control systems, third-party libraries, and APIs, and gain experience with agile project methods such as Scrum and Kanban. Programming is presented as a practical and creative tool for making and expressing game designs.

This course aims to have a more holistic view on problem solving, programming and game design. Focus on process and deeper understanding and create a more focused view. Effectively allowing students to create larger more meaningful game projects.

Teaching and learning methods

This is a course that runs across 4 semesters. The course is taught as a combination of lectures, flipped classroom activities, discussions, lab assignments, and project work. The expected scope of work for the average student is 560 hours.

Examination requirements

Each semester will include mandatory on-campus assignments and activities. Information about these mandatory assignments and activities will be given in Canvas at the start of each semester. All mandatory assignments must be completed and approved in order for the student to be eligible for portfolio submission

Examinations

The course is divided into four semesters. Each semester concludes with a graded portfolio assessment, counting 25% each.

Information about the content of the assignment will be given in Canvas by the start of the semester. It will be possible to retake each portfolio assignment individually in the semester the assignment is running. If the mandatory tasks have not been accepted, the student must retake the semester.

Student evaluation

The study program manager, in consultation with the student representative, decides the method of evaluation and whether the course will have a midterm or end-of-term evaluation. See also the Quality System, section 4.1. Information about the evaluation method for the course will be posted on Canvas.

Reduction of Credits

This course’s contents overlap with the following courses. A reduction of credits will occur if one of these courses is taken in addition:

Course Reduction of Credits
MM-109 – Game History. 5
MM-112 – Game Design. 5
MM-201 – Programming 1 – Automation and Gaming. 5
MM-203 – Programming 2 – Useful Technology. 5
MM-908 – Game Design. 5
MM-913 – Basic programming 1. 5
MM-914 – Basic programming 2. 5
MM-905 – Game History. 5
Last updated from FS (Felles studentsystem) Oct. 15, 2026 8:01:33 AM