About the Code for Fun programme

The Code for Fun Enrichment Programme for schools, jointly developed by IDA and MOE, aims to expose all primary and secondary school students to coding and computational thinking.

Code for Fun by Tinkercademy

Tinkercademy is an IDA-appointed vendor for the secondary school programme.We were selected as one of two vendors for the pilot Code for Fun secondary programme in 2014, and we’re grateful for the chance to bring an updated, refined course to more schools in 2015 and beyond.

In this course, we teach students how to design Scratch programs that control electronic components on the Arduino board.

Scratch is a popular, easy-to-use drag-and-drop programming tool, created by the MIT Media Lab, that provides a gentle introduction to coding for all ages.

Arduino is an open-source electronics platform for making interactive physical projects. For this course, we’re using the Freaduino Uno, an Arduino-compatible board that’s perfect for beginners: just plug components into the colourful 3-pin rows—no need for breadboarding, resistors, or wiring! (And advanced users can still do so if they’d like.)

With Scratch and Arduino, students will be able to appreciate the art of electronics prototyping, while learning about core computer science concepts, and apply their learning to make meaningful mini-projects on the Arduino.

Course details

  • 10 hour programme, flexible arrangement with school (e.g. over 2, 3, or 4 sessions)
  • Class size: up to 40 students
  • Suitable for all secondary school students, no pre-existing programming knowledge required


  • Desktop / laptop (Windows or Mac OS X)
  • Software: custom version of Scratch for Arduino, provided free, and approved for installation on SSOE computers.
  • Required: Tinkercademy Code for Fun Freaduino Uno kit (see below for cost)


  • Course fees: $2,420 per class ($1,210 / $726 after IDA co-funding)
  • Equipment fees: $82 per kit, 1 kit per 1-2 students ($41 after IDA co-funding)
  • To apply, download the application form, select CFF-TT-MT for Section C, and CFF-TT-MK for Section D, fill in necessary details, and email the completed form to IDA.
  • Please note: in the form, this course is listed under Tinkertanker, our parent company.

Course objectives

By the end of the course, students should be able to:

  • Create block-based programs using Scratch
  • Interface with the Arduino using Scratch to receive inputs and toggle outputs
  • Appreciate the art of electronics prototyping
  • Make use of programming concepts such as loops, functions, and conditionals
  • Create meaningful, practical electronic mini-projects to accomplish tasks based on user inputs

Course outline

  • Introduction to Scratch programming
  • Introduction to electronics prototyping, and the Arduino
  • Blinking LED project: sequencing, input with the potentiometer, output with coloured LEDs
  • Making sound with the light theremin and light sensor
  • Creating a guessing game with the LCD display
  • DIY game controllers for Pong and Flappy Bird in Scratch