IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Engineprogrammering 
Kursusnavn (engelsk):Engine Programming 
Semester:Efterår 2009 
Udbydes under:cand.it., medieteknologi og spil (mtg) 
Omfang i ECTS:15,00 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:15 
Forventet antal deltagere:25 
Maks. antal deltagere:40 
Formelle forudsætninger:You must have passed the course Basic Programming (Danish : "Grundlæggende programmering"), the course Introduction to Programming - Concepts and Tools or equivalent. This implies the following:

JAVA itself is not essential. The essential skills are:
- Knowledge of simple data structures.
- Ability to construct simple programs.
- Ability to assess on the efficiency and the correctness of a program.
- A structured approach to testing of small programs.

You must have passed a project with some programming content (you should at least have written 100+ lines of code).

If you have previously followed either the old Game Programming or Computer Graphics course or equivalent, please contact the responsible teacher for counselling.
 
Læringsmål:The course objective is to give you a practical introduction to the relevant theories behind game engine technologies. The focus of the course is on the design and implementation of game engines and not on the actual design and implementation of games.

After the course you can:
- implement visualization of computer graphics using the OpenGL API
- implement various basic animation techniques
- make a basic physics simulator for games
- make a collision detection system
- make and use data structures for handling spatial information
- make efficient code utilizing the hardware optimally
- address real time aspects
- describe game system architecture
- evaluate and compare existing engines
- create bindings to scripting systems
- write programs in C++ 
Fagligt indhold:The focus will be both on the theory behind game engines as well as on programming, using the C++ language and the OpenGL application programming interface (API). We will also study existing engines and how to extend such engines with new functionality.

The course topics includes:
1. Basics of game engines (what can they do for you)
2. Introduction to computer graphics (scene, camera, lighting, programming CPU's, etc)
3. Introduction to basic animation techniques
4. Introduction to physics simulation (forces, collision, etc.)
5. Applied math for computer graphics
6. Game engine design
7. Data structures and algorithms for games
8. Scripting languages and engines (the use of high level gaming languages with engines)
9. How to make modifications and extensions to an existing game engine 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

The course will consist of lectures combined with practical exercises. During the practical exercises you will write small modules and programs to solve specific problems related to games and game engines.



------------------------------------

In the intro week (week 35) the course time table is changed ¿ see the schedule here:
link to the time table
The schedule for the fall term will be available in August.

-------------------------------------

Information om studiestruktur / Information about study structure
Dette kursus er en del af det obligatoriske modulet Programming, som du kan finde beskrevet her:
MTG studiestruktur
For at blive cand.it. i MTG skal du bestå MTG's backbonekurser, og desuden gennemføre en 22,5 ECTS specialisering samt to 7,5 ECTS valgfag.

This course is part of the the mandatory module Programming - find it described here:
MTG study structure
In order to graduate as a MSc in MTG, you need to pass the MTG backbone courses, and also take a 22,5 ECTS specialization and two 7,5 ECTS electives. 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur

The course includes mandatory production assignments in which you will use your acquired knowledge to implement specific game related techniques common for game engines.

All assignments must be passed in order to be eligible for the final exam.  

Litteratur udover forskningsartikler:- 3D Game Engine Programming (1st Edition), Stefan Zerbst, and Oliver Duvel, published by Course Technology PTR. 978-1592003518.

- Interactive Computer Graphics: A Top-Down Approach Using OpenGL (5th Edition), Edward Angel, published by Addison Wesley. 978-0321535863 (Hardcover) / 978-0-321-54943-3 (Paperback).  
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Mandag 13.00-15.30 Forelæsning ITU 2A18
Mandag 16.00-18.00 Øvelser ITU 2A54
Onsdag 13.00-15.30 Forelæsning ITU 2A54
Onsdag 16.00-18.00 Øvelser ITU 2A18

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2009-12-16 No later than 3 PM Skriftlige arbejder ITU Examination Office
2010-01-13 Please check with the course manager Mundtlig eksamen ITU 3A14
2010-01-14 Please check with the course manager Mundtlig eksamen ITU 3A14