Szymon Kaliski

Skyrock Projects

Teaching creative coding in Taipei

I spent July 2017 teaching three weeks of different creative technology workshops during summer program at Skyrock Projects in Taipei.

The program was divided into week long workshops: body interactions, no screens allowed and city data. Each week was 2-3 days of heads down — learning technology and programming, and then 1-2 days of student projects. Each of the groups had one week of P5 and Arduino introduction, so they had some basic knowledge of programming.

Body Interactions

The main idea during the first week was to explore interactions that could work with human bodies. We started with exploring some Arduino sensors: accelerometer, pressure sensor, photoresistor and ultrasonic sensor.

Second day was a re-introduction to P5 (running inside of Neutron), and connecting it with Arduino through serial interface. Third day was all about sound (with Tone.js), and coming up with interactions around music and sensors.

I was really surprised by the progress that the students made in just few days, and different final projects that they've came up with:

  1. A game where you have to jump over obstacles by physically jumping (using accelerometer) — with an idea to expand this further with pulse sensor to measure the heart rate and promote exercise
  2. Stress pong — made using four pressure sensors and LED matrix — that gets harder the harder you press the buttons
  3. Memory game with a custom controller, made using a lot of wires and complex logic to help develop your memory

Code: skyrockprojects/Body-Interactions

No Screens Allowed

Second week was all about BareConductive and using conductive paint and capacitive sensors for building interfaces.

We started with exploring Touch Board and playing with some examples. After that we focused on connecting this to P5 using serial data (and Neutron), to finally connect it to Tone.js.

Final projects included:

  1. An interactive map of Skyrock Projects headquarters
  2. Music-making T-shirt
  3. Touch-based vending machine

Code: skyrockprojects/No-Screens-Allowed

City Data

Last week was a bit shorter, we only got two days of "heads down". During the first day we explored different environmental sensors for Arduino: temperature, humidity, microphone and photoresistors.

At the end of the day we set up data collecting machine that would record the values overnight:

Next day was spent reading back the data, and exploring how we can use it to create images.

Code: skyrockprojects/City-Data


I've really enjoyed my month in Taipei, it's a great feeling to see the students progress and explore new ideas. Workshop structure is especially important here, students can ask questions and experiment when there's no wrong answers.

I also got a chance to test Neutron in the wild — I've added syntax based error checking and better support for Windows, which wouldn't have happened if I didn't seen the problems students had while using it.

It's also nice to take a break from client projects for a while, and take some photos: