Skip to content
Aalto University's Intelligent Computational Media course
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Lessons Updated, fixed some other minor bugs Apr 30, 2019
Models CMA-ES_Art.ipynb now uses a pretrained model. Added a separate versio… Apr 22, 2019
.gitignore Initial commit Apr 1, 2019
LICENSE Initial commit Apr 1, 2019

Intelligent Computational Media

Images generated using GanBreeder

(Images created using GanBreeder)

This repository contains the lecture materials and examples for Aalto University's Intelligent Computational Media course, instructed by Perttu Hämäläinen and Koray Tahiroglu.

Check MyCourses to see when the course is run for the next time!

How to start?

Syllabus and everything you need is here: Lessons/ The material is designed to also support self-study.

Learning goals

The course covers AI and machine learning for games and audiovisual media.

  • Understand how common AI algorithms & tools work
  • Understand what the tools can be used for in context of art, media, and design
  • Get hands-on practice of designing, implementing and/or using the tools.

The first week of the course has introductory lectures, but the rest of the time is devoted to project work that can be done alone or together with a pair or group. The teachers will be there to provide personalized assistance. The exercises and project work are designed to scale for a broad range of initial skill levels (see below for the minimum requirements, though).


Grading is primarily based on the projects which should demonstrate personal learning/development and be clearly documented using images, video, and short textual description. The project documentation is submitted through MyCourses. It is also recommended to make the project publicly available, e.g., as a Github repository. You may simply submit a link to the repository, if the repository contains the needed documentation.

Overview & design philosophy

This is a hands-on, project-based crash course for deep learning and other AI techniques for people with as little technical prerequisites as possible:

  • Basic programming skills (e.g., some python, processing, or Unity C#)
  • Basic high-school math. We focus on visual explanations that are enough to understand why and how various AI methods work.

The focus is on media processing and games, which makes this particularly suitable for artists and designers.

The lessons and materials comprise three parts:

  • Lectures
  • Software examples
  • Exercises that require you to modify the sofware examples to test your learning. We always try to provide both easy and advanced exercises to cater for different skill levels. Model solutions are provided for the easier ones, but some of the advanced exercises are

NOTE: The visual pedagogy is heavily inspired by Bret Victor's Kill Math Project. Although advanced math is needed to prove things like the optimality of an algorithm, many AI methods are born out of visual intuitions. It is unfortunate that researchers must then encode these intuitions as math, which imposes on the reader the burden of decoding back to intuitions and understanding. Fortunately, this is slowly changing with new "visually enhanced" publication venues like Distill.

Other courses

This course covers similar content as Gene Kogan's excellent NYU course Neural Aesthetic, with the following main differences:

  • Designed to run as a 1 week full-day workshop or a 3-week intensive with sessions from 9am to 12am, Tuesday-Friday, according to Aalto Media Lab's usual study schedule. This more of a short crash course than a full semester one, and students willing to learn more should definitely check Kogan's course as well.

  • More content on games, as much of the content is inherited from the Computational Intelligence in Games course by Perttu Hämäläinen (Spring 2018, now replaced by this course)

Compared to Machine Learning: Basic Principles at Aalto CS, we have some similar exercises, but the focus is more on applications and less on theory and mathematics, in order to make the material accessible for a wider audience. The more mathematically inclined students are highly encouraged to take both courses.

Compared to Elements of AI, we have more practical exercises; this is a good follow-up if you've already taken that course.

You can’t perform that action at this time.