Creative Programming for Digital Media & Mobile Apps (Coursera)

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

At the end of this course, you will be able to:

  • Write creative, audiovisual programs in the Processing environment that run on desktop and mobile
  • Programatically manipulate sound in creative ways
  • Display images and image sequences
  • Generate interactive, algorithmic graphics
  • Work with a 2D physics engine to create a basic game

Syllabus

WEEK 1
Sonic Painter
This week we are getting up and running with the Processing IDE. We will show you the basics of writing Processing sketches then move onto some graphics and audio concepts. Mick will then introduce our first audiovisual example - SonicPainter, which allows users to interactively paint with synchronised graphics and sound.

WEEK 2
DJTube
This week we are looking at using images and video, and also finding out how to control sound more fully in an interactive way. We're going to be showing you a really basic interactive VJ/DJ app called 'DJTube', which is a very simple example of how to create and load video, images and animations on desktops / mobile devices, and also use them as a basic user interface.

WEEK 3
Audio Visualiser
This week is all about creating an Audiovisualiser. This is a really popular and interesting topic that has lots of applications, from music players, to game engines, to more complex things such as DSP. We'll be learning about algorithmic graphics, audio analysis, and also about using the accelerometer features of your phone. Remember that many desktops don't have accelerometers, no matter how much you shake them!

WEEK 4
AngryDroids
This week we will be creating a physics based game using a Physics engine based on Box2D. Physics engines are a fantastic way of creating dynamic gameplay that models the real world. Box2D is one of the most popular because it is optimised to be fast for 2D games that don't need the heavy processing of a 3D engine. It is used in many important 2D games, most famously Angry Birds. We will be using boxwrap2D which is a Java port of the original C++ version of Box2D, that is designed to work with Processing. Since boxwrap2D is java only we have created our own port to JavaScript, which interfaces to the javascript version of Box2D, but provides an almost identical interface to the Processing version.

WEEK 5
Music Machine
Welcome to the final week of Creative Programming for Digital Media and Mobile apps. This week, we are going to move back to one of our favorite areas of app development - music apps. We have a very special guest this week - Martin Roth from RJDJ. Martin has lots of experience working on consumer mobile music applications, including the amazing Inception app, and The Dark Knight Rises. He shares his views on the expanding space in mobile music applications, and offers us his opinion on the WebAudio API. Meanwhile, Matt will be showing you how to create a very basic drum sequencer, and Marco will take you through the basics of sliders and multisliders, which are particularly useful for controlling parameters in music apps. Mick will then be taking you through some synthesiser examples in WebAudio, and talk you through the Music Machine example, which is a great place to kick off making a professional interactive music app for mobile.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Uso de bases de datos con Python (Coursera) Coursera
University of Michigan

Uso de bases de datos con Python (Coursera)

Este curso presentará a los estudiantes los conceptos básicos del lenguaje de consulta estructurado (Structured Query Language, SQL), así como el diseño básico de bases de datos para almacenar datos como parte de una iniciativa de varios pasos para recopilar, analizar y procesar datos. El curso utilizará SQLite3 como base de datos. También crearemos rastreadores web y procesos de visualización y recopilación de datos de varios pasos. Utilizaremos la biblioteca D3.js para realizar la visualización básica de datos.

Aug 17th 2026
5-12 Weeks
Learn HTML and CSS (Coursera) Coursera
Scrimba

Learn HTML and CSS (Coursera)

This course is perfect if you want to learn how to code websites from scratch. You will learn the basics of HTML and CSS through interactive challenges. Along the way, you will build multiple projects, like a Google.com clone, a Space Exploration page, and a fun birthday site filled with GIFs. While most of the challenges are done in Scrimba's interactive editor, you will also learn how to use professional tools like VS Code for code editing, GitHub for hosting your code, and Netlify for deploying your projects to the world wide web.

Aug 17th 2026
5-12 Weeks
Applied Text Mining in Python (Coursera) Coursera
University of Michigan

Applied Text Mining in Python (Coursera)

This course will introduce the learner to text mining and text manipulation basics. The course begins with an understanding of how text is handled by python, the structure of text both to the machine and to humans, and an overview of the nltk framework for manipulating text. The second week focuses on common manipulation needs, including regular expressions (searching for text), cleaning text, and preparing text for use by machine learning processes. The third week will apply basic natural language processing methods to text, and demonstrate how text classification is accomplished. The final week will explore more advanced methods for detecting the topics in documents and grouping them by similarity (topic modelling).

Aug 17th 2026
4 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Aug 10th 2026
4 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Aug 17th 2026
5-12 Weeks
Introduction à la programmation orientée objet (en Java) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Introduction à la programmation orientée objet (en Java) (Coursera)

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage Java. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en Java) ».

Aug 16th 2026
5-12 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Aug 10th 2026
4 Weeks
Problem Solving Using Computational Thinking (Coursera) Coursera
University of Michigan

Problem Solving Using Computational Thinking (Coursera)

Have you ever heard that computers "think"? Believe it or not, computers really do not think. Instead, they do exactly what we tell them to do. Programming is, "telling the computer what to do and how to do it." Before you can think about programming a computer, you need to work out exactly what it is you want to tell the computer to do. Thinking through problems this way is Computational Thinking. Computational Thinking allows us to take complex problems, understand what the problem is, and develop solutions. We can present these solutions in a way that both computers and people can understand.

Aug 17th 2026
5-12 Weeks
Advanced Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Advanced Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Aug 17th 2026
5-12 Weeks