Creative Coding and Software Design 3: Machine Learning

Fall 2018

Instructor - Grigore Burloiu / moc.liamg|uiolrubg#moc.liamg|uiolrubg

Credits - 6 ECTS

Course Prerequisites

This class builds on the creative coding foundation acquired in the first year. Previous experience with machine learning is a plus, but not required.

Course Objectives

Students in this course will:

  • obtain an intuition of machine learning models and techniques for advanced interaction and control
  • create complex real-time interaction schemas for mixed-media art projects
  • master domain-specific programming tools
  • gain fundamental and applied knowledge of machine learning theory and technique

Course Structure

This course will be comprised of 11 weekly classes, 1 final project proposal, and 1 final project. Additionally, there will be small weekly homework assignments, which we will go over and build upon in class. Homework assignments will often be supplemented by reading unless otherwise noted.

The grading breakdown is as follows:

  • Class attendance and participation (25%).
  • Weekly homework studies (15%): to be published on Github by the due date.
  • Final project proposal (10%): to be presented to class and approved.
  • Final project (50%): each project is individual, and can be any application showing creative skills and design clarity, as approved based on your proposal.


All code prepared for the class is available here.
To keep up to date you have two options:
A) Visit the link and clone the repo to your desktop.
B) Fork the repo to your own account. Then, to sync to the latest state of the master repo, follow the instructions for bash/terminal or in-browser.


  • The Mechanics of Machine Learning, by Terence Parr & Jeremy Howard Link.
  • Machine learning for audio, image and video analysis, by Alessandro Vinciarelli & Francesco Camastra.
  • Introduction to Machine Learning with Python, by Andreas C. Müller & Sarah Guido.
  • Introduction to Machine Learning, by Ethem Alpaydin.
  • Online:

Class Schedule

This schedule is subject to change depending on the interests and pace of the class, etc.

Week 1 (11.10): Introduction to ML. Interactive machine learning basics.

  • Slides
  • Assignment (due before following class): Download and explore Wekinator.

Week 2 (18.10): Classification. Decision trees and k-nearest neighbours. Classification-based control schemas.

  • [___ Slides]
  • Assignment (due before Week 4): Classification examples.

Week 3 (1.11): Classification. Probabilistic models. The perceptron.

  • [___ Slides]
  • Assignment (due before following class): Rough Wekinator prototype.

Week 4 (8.11): Regression. Linear and polinomial. Neural networks.

Week 5 (22.11): Training and input data. Semester project brainstorming/discussion.

  • Assignment (due before following class): Prepare semester project proposal.

Week 6 (29.11): Project proposal presentations. Prototyping.

Week 7 (6.12):

Week 8 (13.12):

Week 9 (20.12):

Week 10 (10.01):

Week 11 (17.01):

Final: Final Project Presentations.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License