MMI513 ALGORITHMS FOR INTERACTIVE SYSTEMS

Course Code:9090513
METU Credit (Theoretical-Laboratory hours/week):3 (3.00 - 0.00)
ECTS Credit:8.0
Department:Multimedia Informatics
Language of Instruction:English
Level of Study:Graduate
Course Coordinator:
Offered Semester:Spring Semesters.

Course Objectives

Via this course and by the successful completion thereof, the students will: 

  • Learn the fundamental algorithms that are used in interactive systems such as games, AR, VR, and MR applications
  • Understand the proper use of variants of different algorithms as well as their interactions
  • Improve their algorithm development skills without getting hindered by lower level programming languages.
  • Develop an interactive application using some of the algorithms taught during the course.

Course Content

A practical understanding of algorithms is necessary to develop interactive systems such as games, virtual/augmented/mixed reality and other interactive applications. This course aims to teach algorithms relevant in the context of designing interactive systems. The topics to be covered include random number generation, noise generation, procedural content generation, tournament modelling, game trees, path finding, group movement modelling, decision making and modelling uncertainty. Networking related topics will also be covered. The course is predominantly practical where the algorithms and their use will be described and implementation of major algorithms will be demonstrated with collaborative coding tools in class using Python. The assessment will be via programming assignments and a term project.


Course Learning Outcomes


Program Outcomes Matrix

Level of Contribution
#Program Outcomes0123
1Having acquired in-depth knowledge in at least one of: computer graphics, audio signal processing, game physics, artificial intelligence, modelling and simulation, human-computer interaction, or computational aesthetics,
2Having acquired working knowledge on the components of computer games, virtual reality applications, simulators, and educational applications,
3Having the necessary expertise to apply theoretical concepts in addition to having practical experience,
4Having the ability to produce novel ideas and solutions,
5Having the necessary skills to carry out research and implement the results thereof in practice,
6Having the ability to work as a member of inter- and multi-disciplinary teams and take up leadership roles in such teams when necessary,
7Having excellent written and verbal skills as well as the capacity to efficiently communicate ideas,
8Having acquired the knowledge that is independent of current development tools and the ability to use this body of knowledge for learning new tools,
9Having acquired the skills for lifelong learning and ways of reaching new information when necessary,
10Having the skills to follow both theoretical and practical scientific and technological developments in the field,
11Having awareness of engineering and academic ethics, knowing and adopting the fundamental principles thereof.

0: No Contribution 1: Little Contribution 2: Partial Contribution 3: Full Contribution