Courses given by the Department of Multimedia Informatics


Course Code Course Name METU Credit Contact (h/w) Lab (h/w) ECTS
MMI505 GAME DEVELOPMENT PIPELINE 3 0.00 0.00 8.0

Course Content

The course aims to present a historical and technical knowledge in evolation of video games. Major topics related with game development and design will be covered that give the students an insight on this field and help them select their elective courses more consciosly. Recent techniques in game development, widely accepted software and game engines, special topics in the field will be covered in the scope of the course. Having knowledge on these issues will give students the chance to select a specilization area to concentrate on, w,th awareness on all important concepts of game design, development and production, so recieve a higher quality education.

MMI508 GAME METRICS 3 3.00 0.00 8.0

Course Content

Measurement of usability and user experience in games during and after game development is a process that enhances greatly the overall quality of games.It is known that even very small changes can make a big prositive(or negative) impact on user experience.It then becomes very important to develop efficient and solid stratecies to determine whether a game provides a good user experience or not.This course aims to teach the fundamentals of user experience evaluation for games.

MMI511 GAME AESTHETICS 3 3.00 0.00 8.0

Course Content

This course aims to provide students familiar with aspects related to game aesthetics. This course aims at presenting fundamentals of visual design. Content areas include: history, basic visual design in an interactive content, world design, motion graphics and game art. Special emphasis is placed on how visual aesthetics play a role in the game experience.

MMI513 ALGORITHMS FOR INTERACTIVE SYSTEMS 3 3.00 0.00 8.0

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.

MMI522 PROCEDURAL SOUND DESIGN 3 0.00 0.00 8.0

Course Content

Games are interactive applications and game worlds change with interaction. Audio content in games and virtual reality are typically canned recordings that are impossible to modify during runtime, preventing interactivity, causing repetition and increasing the memory footprint. Procedural audio generation by using interactive synthesis algorithms is a solution to circumvent these problems. This course aims to introduce the students to the concepts and underpinnings of procedural audio as well as give them the practical knowhow on procedural sound design for games.

MMI538 COMPUTER GRAPHICS 3 3.00 0.00 8.0

Course Content

Review of 2D basics,3-D models and geometric transformations. Graphics standards (PHIGS,GKS) and user interface standards(XWindows).Solid modeling. Illumination and shading. Fracta models. Animation.

MMI540 3D GEOMETRIC MODELING AND PROCESSING 3 3.00 0.00 8.0

Course Content

3D sensor outputs, 3D data structures, 3D data visualization, modeling of 3D data, 3D surface models (mesh and spline models), preprocessing of 3D data, 3D registration, 3D feature extraction, 3D feature descriptors, 3D object detection and recognition.

MMI541 PHYSICS FOR COMPUTER GAMES 3 3.00 0.00 8.0

Course Content

The course provides the basics of classical mechanics and numerical methods to solve typical physics problems of game programming. After a gentle introduction to game physics by presenting basic concepts, kinematics, force and kinetics, collision are given together with mathematical tools that are frequently used for physics based game programming. Programming studio sessions will provide an opportunity to share programming practices among participants.

MMI561 ARTIFICIAL INTELLIGENCE IN COMPUTER GAMES 3 3.00 0.00 8.0

Course Content

The course presents the theoretical basics of artificial intelligence (AI) and their application to behavior modeling in game development. The first part will introduce common AI architectures, which can be used in game design, and the second part will cover basic AI techniques towards entity behavior modeling. In the course, students will be given term papers to be read, which will be summarized and presented in the class. Additionally, the students will form groups, and each group will develop a term project involving behavior modeling in.

MMI590 GRADUATE SEMINAR 0 0.00 2.00 10.0

Course Content

For course details, see https://catalog2.metu.edu.tr.
MMI599 MASTERS THESIS 0 0.00 0.00 50.0

Course Content

For course details, see https://catalog2.metu.edu.tr.
MMI699 PH.D. THESIS 0 0.00 0.00 130.0

Course Content

Program of research leading to Ph.D. degree, arranged between a student and the faculty member. Students register to this course in all semesters preferably starting from the beginning of their second semester but not later than the beginning of the third semester while the research program or write up of the dissertation is in progress.

MMI700 RESEARCH METHODS AND ETHICS 0 0.00 0.00 10.0

Course Content

This course aims to develop an understanding of the history and principles of scientific method, as well as powers and limits of science. At a more practical level, the course is going to provide students with knowledge on deductive logic, probability, inductive logic and statistics, parsimony and efficiency and last but not least on ethics and responsibilities of science. More practical aspects of research such as communication of results will also be covered. The course will involve oral lectures as well as reading assignments and discussions in class. The assessment will be based on the reflection papers written by students as well as a larger critical reading assignment from a set of scientific monographys to be assigned at the beginning of semester. The students will, by the end of the semester, present a term report presenting a critical review of the reading assignment in light of the concepts presented throughout the semester.

MMI701 MULTIMEDIA SIGNAL PROCESSING 3 0.00 0.00 8.0

Course Content

This course aims to provide a practical coverage of a fundamental topic relevant to multimedia computing: multimedia signal processing. Topics related to signal processing with applications in multimedia computing will be taught. These are fundamentals of signals and systems, z-transforms, frequency analysis of signals and systems, concepts of stability and causality, sampling theorem, design of linear-time invariant systems, optimal filters, linear production, adaptive filters, spectrum estimation, and time-frequency representations.The course has a good balance of theoretical and practical aspects.Theoretical aspects thought during the course will be complemented with practical examples using a high-level programming language such as Python and/or Matlab. The course will also include a term project that will involve the students developing a solution to an actual multimedia signal processing problem with the theoretical and practical tools that they learned during the course.

MMI702 MACHINE LEARNING FOR MULTIMEDIA INFORMATICS 3 3.00 0.00 8.0

Course Content

The main objective of this course is to provide a theoretical and practical coverage of machine learning in multimedia domain. The main topics to be covered during the course are supervised learning, Bayesian Decision Theory, parametric methods, multivariate methods, dimensionality reduction, clustering, decision trees and Hidden Markov Models. The course will not only focus on providing a theoretical background to the students, but will also encourage them to implement the algorithms learned in the class and to analyze practical examples. The students will be given a term project and various assignments to implement the algorithms taught during the course. Also, reading assignments focusing on the recent research on Machine Learning will be given and discussed during the lectures.

MMI703 COMMUNICATION ACOUSTICS 3 3.00 0.00 8.0

Course Content

This course aims to provide knowledge on several topics related to the usage of sound for the purpose of human-to-human, human-to-machine, and machine-to-human communication. More specifically the course covers aspects of acoustics and human hearing at a theoretical level as well as practical audio signal processing applications such as spatial audio systems, audio and speech coding, text-to-speech synthesis. The course aims to balance theory and practice in that it will involve students implementing some of the described algorithms, auditory models and replicate some of the auditory effects to be explained during the lectures using high-level kanguages such as Python (including SciPy and NumPy) and or Matlab.

MMI704 MOTION CAPTURE, ANALYSIS AND SYNTHESIS 3 3.00 0.00 8.0

Course Content

This course aims to provide a coverage of fundamental topics relevant for human motion capture: human motion modelling and tracking. During the first half of the course topics related to 2D and 3D tracking, optical flow, articulated models, action recognition and video tracking will be covered. During the second half of the course, fundamental modelling and animation techniques will be presented. These include markerless movement analysis, optimization of human movement, biomechanics, applications of biomechanics, modeling and animation. Every theoretical aspect taught during the course will be complemented with a practical example using motion capture and animation tools such as MakeHuman, Autodesk Motion Builder and Blender. The course will also include a term project that will enable the students to merge the theoretical background with the practical tools.

MMI705 NON-DIGITAL GAME DESIGN 3 3.00 0.00 8.0

Course Content

The goal of the course is to teach students the fundamentals of non-digital game design techniques. It explores the essential parts of a game to reveal its essence of its operational form. Students will analyze a variety of non-digital games (e.g. board and card games) and explore their mechanics from social and cultural perspectives. They apply the principles of game creation methods and gain insights regarding fast prototyping, and iterative design techniques, which can be applied to different kind of interactive projects. As a designer, they will investigate the freedom and innovative process of non-digital game development.

MMI706 REINFORCEMENT LEARNING 3 3.00 0.00 8.0

Course Content

This course aims to give background knowledge on several topics related to reinforcement learning and provide an environment for practical applications. Multi-armed Bandits, Monte Carlo methods, Markov Decision Processes, Dynamic Programming and Temporal-Difference Learning are some of the core topics that will be covered through lectures. The course aims to balance theory and practice in that it will involve students implementing all of the described algorithms, testing those algorithms in different game environments, and reading recent research papers on the reinforcement learning field.

MMI710 MODELING OUTDOOR VIRTUAL ENVIRONMENTS FOR SIMULATIONS AND GAMES 3 0.00 0.00 8.0

Course Content

This course aims to present the fundamentals of outdoor virtual environments in computer games and simulation applications. Outdoor virtual environments cover terrain, geography, vegetation, sky, sun, moon, rain, snow, seasons, etc. Besides these natural phenomena, life layer entities will also be mentioned during the course. Good knowledge of these components helps game developers to design and create better titles throughout their professional life. A practical knowledge of programming language (C++, C# or Java) is a prerequisite for this course.

MMI711 SEQUENCE MODELS IN MULTIMEDIA 3 3.00 0.00 8.0

Course Content

The course will cover various concepts related to understanding and processing different types of multimedia sequence models. The course starts with an overview of sequence models, RNNs and continues with details on training RNNs. By introducing different sequence modelling problems, recurrent architectural models and variants of gated units the course covers all fundamental concepts related to sequence learning in intelligent multimedia systems. In addition the course covers the recurrent and nonrecurrent models of attention in various multimedia type signals such as vision and/or sound.

MMI712 MACHINE LEARNING SYSTEMS DESIGN AND DEPLOYMENT 3 3.00 0.00 8.0

Course Content

The course covers several aspects of designing reliable and scalable machine learning systems for real-world deployment. It deals with development of production quality models and introduces the machine learning pipeline, concepts on machine learning system design and data engineering. It provides know-how on model development, and how to scale up the training for large models as well as evaluation, calibration and debugging of these models. Generation of reproducible models via experiment tracking tools and model versioning is also covered. Hardware platforms and frameworks for deployment are introduced, followed by basic deployment concepts, containerized deployment and testing.
The course aims to balance theory and practice. The lab sessions allow students to experience the concepts first-hand and cover deployment (Model Development and Training, Model, Data, Parallelism, Experiment Tracking) and deployment aspects (Model Compression and Optimization, Basic Deployment, Containerized Deployment, Testing in Production).

MMI713 APPLIED PARALLEL PROGRAMMING ON GPU 3 3.00 0.00 8.0

Course Content

The course has been designed to give hands-on knowledge and development experience on general purpose GPU programming. The student will learn about the GPU as part of the PC architecture. Then they will learn about development of GPU software using CUDA C and OpenCL. Various optimization issues, particularly effective use of memory and floating point calculations will be discussed. The concepts and the effects of optimization will be demonstrated with case studies. Similarities and differences of CUDA and OpenCL will also be discussed around these case studies.
The students will be expected to propose a compute-expensive problem to implement on the GPU and then develop and optimize it on the GPU and compare the performance results with the CPU implementation. They are also expected to compare various optimization strategies.

MMI714 GENERATIVE MODELS FOR MULTIMEDIA 3 3.00 0.00 8.0

Course Content

This advanced deep learning course offers a comprehensive introduction to the principles and practice of generative modeling. Beginning with a review of the mathematical foundations required for the course, students will gain an understanding of the conventional autoregressive methods used in generative modeling, as well as more contemporary techniques such as deep generative neural models and diffusion models. The course covers all fundamental concepts related to generating media, including latent spaces, latent codes, and encoding.
Throughout the course, students will have access to a wide range of resources, including lectures, readings, and hands-on projects. In addition, a thorough review of recent state-of-the-art studies in the field will be provided each year to ensure students are up to date with the latest advances. By the end of the course, students will have gained the skills and knowledge necessary to tackle real-world generative modeling challenges and become proficient practitioners in this field.

MMI715 PSYCHOLOGY IN GAME DESIGN 3 3.00 0.00 7.5

Course Content

Students will read the weekly assigned articles and write reaction papers reflecting on the potential applications to game design. These papers will be double spaced and no more than 2 papers long. The psychological concepts will be clarified in the classroom and students are expected to actively participate in class discussions about potential applications. As the term project, the students will either evaluate a commercial game based on the theories learned in the course and present it in class, or present an innovative way to apply of these concepts in game design. The project will be completed individually or in groups based on the number of students taking the course.

MMI722 AUDIO FOR GAMES AND VIRTUAL ENVIRONMENTS 3 0.00 0.00 8.0

Course Content

Spatial and synthetic audio are key elements of computer games and virtual reality applications where a high level of realism and immersiveness is desired within computational limitations of available hardware. The entire chain of processes from the production of sound to its perception all play part in the success of game audio systems. This course aims to introduce the fundamental concepts of spatial and synthetic audio for computer games and virtual reality with a clear focus on development of algorithms for such applications. Students will learn about Fundamentals of digital audio, psychoacoustics, spatial hearing mechanism, room acoustics modelling and auralization, 3D audio reproduction, and sound synthesis methods.

MMI724 MUSIC AND SOUND PRODUCTION FOR GAMES: AESTHETICS AND PRACTICE 3 0.00 0.00 8.0

Course Content

This is applied method course designed to familiarize students with the language of computer music and sound production. Prerequisite knowledge of music is not necessary. This course aims at presenting Fundamentals of music composition and sound production based on applied method and theory.

MMI725 GAMIFICATION AND PERSUASIVE GAMES 3 3.00 0.00 8.0

Course Content

The goal of the course is to teach students the practical usage of the game elements in the business context to engaging todays customers of computer applications. In addition, the course lays the basics of game design theory to solve real world problems in IT context such as customer engagement, user motivation and retention. The goal is to help students to design multi-dimensional interaction and feedback mechanism by using dynamics of games.
At the most basic level, gamification is a method to motivate users by using the game mechanics to drive game-like engagement and actions. In everyday life, however, most of them are often presented with job activities that are not attractive, i.e. boring chores or stressful tasks. To cope with this, the course will introduce game mechanisms into non-game tasks and activities to make them more game-like (i.e. fun, rewarding, desirable, etc.), so that customers or users would be motivated to take part in these tasks. In addition, the course covers the persuasive games and their applications, which is the art and science of persuasion through game-based representations and interactions of systems rather than the verbal form.

MMI726 MULTIMEDIA STANDARDS 3 3.00 0.00 8.0

Course Content

Seamless integration and interoperatibility of multimedia systems require standardization of the coding compression, storage and transmission of multimedia content. Several different international bodies such as ISO-MPEG, ITU, EBU, developed standards for this purpose over the past decades and these developments allowed the proliferation of usage of digital multimedia content such as images, videos, audio and computer graphics. This course aims to teach audio, image, and graphics coding and equip the students with knowledge on the most important and common multimedia standards as well as future and emerging standards.

MMI727 DEEP LEARNING: METHODS AND APPLICATIONS 3 3.00 0.00 8.0

Course Content

This course aims to give background knowledge on several topics related to deep learning and provide a laboratory environment for practical applications. Backpropagation convolutional neural networks, generative adversarial networks, energy-based learning and optimization techniques are some of the core topics that will be covered through the lectures. The course aims to balance theory and practice in that it will involve students implementing all of the described algorithms, testing those algorithms under several domains and accessing GPU clouds during laboratory sessions to program examples using Torch.