Gold Coast Libraries recently spent three days taking professional development workshops with Coding Kids. We covered a range of activities and projects that will be delivered for the Gold Coast community. The local kids are going to have a wonderful time exploring STEAM at the Gold Coast Libraries.

In the 3 days we covered the delivery of projects with:

  1. Learn to code with Scratch

  2. Inventing and Design Thinking with InnoBits & LittleBits

  3. Programming Dash and Dot robots

  4. Programming Sphero SPRK+

  5. Learn to code with App Inventor

  6. Learn to code with Python

  7. Build your own and program with Kano computers

  8. Programming with Raspberry Pi

 

Learn to code with Scratch

We discovered the fundamentals of coding with Scratch, a drag and drop coding platform created by Massachusetts Institute of Technology (MIT). The covered the three main logic patterns:

  1. Sequencing: the order of instructions

  2. Branching: checking for conditions to alter the execution sequence

  3. Looping: repetition of a sequence of instructions until a certain condition is reached

We came across these concepts again and again with various projects over the three days.

We built a simple game “Knight collects the coins in the castle”. Each participant was able to personalise their project e.g. Unicorns collecting cupcakes, Wizards collecting lightning bolts.

A game we made in Scratch: Knight collects the coins in the castle
A game we made in Scratch: Knight collects the coins in the castle

In building this game we learned about:

  • XY coordinates and controlling objects in a 2D space

  • Controlling a sprite, a character or object in the program, with arrow keys (knight)

  • Programming a sprite to move randomly across the screen (ghost)

  • Using a variable to keep score and count points collected by the player i.e. if knight is touching coin then change “score” by 1.

  • Designing two endings for the game: “You win” and “Game over”

  • Using maths and if statements to trigger “You win”, i.e. if score = 10 then trigger “You win”

  • Using collision detection to trigger “Game over”, i.e. if ghost is touching knight then trigger “Game over”

We also looked at the elements of Game Design and how to design your own game. Each game is made up of:

  • A protagonist (the player’s character)

  • A goal or objective

  • Enemies

  • Collectibles

  • Endings: winning and game over

Inventing and Design Thinking with InnoBits & LittleBits

We used InnoBits and LittleBits to explore circuitry, logic, inventing and design thinking. We started with learning the basics.

What is a circuit?

  • It is closed not open

  • It needs a power source

  • It includes a device that does work e.g. light bulb

  • Electricity flows from a higher voltage to a lower voltage

An electric circuit: closed circuit, power supply, device e.g. light bulb. 
An electric circuit: closed circuit, power supply, device e.g. light bulb. 

How do we invent with InnoBits or LittleBits? We need:

  1. Power

  2. Input

  3. Output

Power + Input + Output = Invention
Power + Input + Output = Invention

We built a simple light switch with:

Battery (power) + button (input) + LED (output)

 

We built a slider controlled sound buzzer:

Battery (power) + slider (input) + sound buzzer (output)

 

Then we added arts and crafts materials:

  • Coloured cardboard

  • Pipe cleaners

  • Feathers

  • Felt tip pens

  • Sticky tape

  • Blue tac

  • etc

We introduced Design Thinking. We gave a list of invention ideas:

  • Something to make someone laugh

  • Something to scare someone

  • Something to express your emotions

  • A safety/security system

  • An art machine

 

With an idea, circuitry bits, and arts and craft supplies each participant was invited to invent something. 

Here are some of their inventions:

  1. Clap your hands and make the Rio Samba Dancer dance

  2. An auto-greeter for the library

  3. Scary spider

Programming Dash and Dot robots

Dash and Dot robots are cute educational robots that are programmed or controlled via apps. We looked at the five the Dash and Dot apps:

  1. Go (all ages)

  2. Path (all ages)

  3. Xylo (all ages)

  4. Blockly (ages 8+)

  5. Wonder (ages 8+)

We explored activities with Dash and Dot robots:

  1. A need for speed: We calculated Dash’s set speeds: very slow, slow, normal, fast and very fast. We used a timer and a calculator to calculate the five speeds that Dash can operate at. Use the Blockly app to experiment with Dash’s speed settings.

  2. Simon says: we programmed Dash to execute instructions based on Dot’s movements. E.g. Dash moves to the right when Dot is tilted to the right. Use Blockly to program Dash and Dot.

  3. A-mazing: we created a maze using giant lego blocks. At various points on the maze there were actions that needed to be completed, e.g. Say “Yippee”, Dash dance “Confident”, All lights red, look left – look right – look left – look straight. Program Dash robot to find its way through the maze and complete the set instructions. Use the Blockly app to program Dash.

  4. Dash bulldozer competition: Attach the bulldozer bar to the Dash robot. With a pile of lego pieces at the centre of the room, collect and return as many lego pieces to your homebase. Use the Go app to control Dash. The player with the most pieces at their homebase wins.

Programming Sphero SPRK+

We used the Lightning Lab app to program Sphero SPRK+ robots. This app is a drag and drop coding environment, just like Blockly App and Scratch.

First we learned to calibrate the direction of the Sphero by aiming the tail light. We need to ensure that the Sphero’s sense of forward is the same as the tablet (and person).

We learned to program Sphero to move in a square shape. We started with using a code block for movement in each direction.

Then we were reminded about looping and that we can use a repeat block to repeat instructions.

Now that we use a repeat block, we can quickly turn the code to move Sphero in a square shape to make Sphero move in a triangle shape by just changing two numbers in the code. Looping makes it more efficient by using less blocks. But it also makes it more efficient to change the code from a square shape to a triangle shape with only two changes made to the code. It’s fun learning to be efficient.

We used the blue maze tape that comes with the Sphero pack to draw a path zigzagging across the carpet. We learned to program Sphero to move along the blue maze tape with precision. We learned that we can achieve this with lots of trial and error and that it is very difficult to get it right the first time. Trial and error is what makes programming robots fun.

We also learned to give Sphero a bit of personality. We programmed Sphero so that when it collides with a wall, it plays a crying sound. We also programmed Sphero to laugh when it is thrown into the air. In this activity we learned that unless you start the program by pressing the green arrow start button in the app, the program doesn’t start and Sphero does not react as we expect it to when it collides with a wall or gets thrown into the air.

Learn to code with App Inventor

We used App Inventor to build three apps. App Inventor comes with a smartphone emulator so that we can see how our app looks and behaves on a smartphone. It is also possible to download the app created with App Inventor onto an Android phone.

We built these three apps:

  1. Pat the pet: Pat the image of the dog and it barks. Pat the image of the cat and it meows.

  2. Ball bounce: Touch the ball and fling it across the screen to bounce it around screen.

  3. Simple paint: Paint with various colours and then press the “Erase” button to clear the screen

We made 3 apps with App Inventor: Pat the pet, Ball bounce, and Simple paint.
We made 3 apps with App Inventor: Pat the pet, Ball bounce, and Simple paint.

Learn to code with Python

We learned our first textual language by exploring Python. Python is a great step from drag and drop coding blocks into a textual language.  

We drew interesting shapes with Turtle and experimented with geometries, angles, colours, pen widths and looping. Turtle is a great way to get started because it gives immediate, visual feedback which is helpful for learners. We learned to compute with Python and started using variables and lists.

Build your own and program with Kano computers

We built the Kano computers. Kano uses a Raspberry Pi with the Kano operating system. The pack comes with a screen, bluetooth keyboard with trackpad, speakers, Raspberry Pi and wires.

The Kano computer comes with 7 apps:

  1. Kano Code (code blocks) (available as a web app)

  2. Make Art (CoffeeScript) (available as a web app)

  3. Make Light (Python)

  4. Make Snake (Python)  

  5. Make Minecraft (code blocks)

  6. Make Pong (code blocks)

  7. Scratch (code blocks)

We didn’t have enough time to cover all the apps so we focused on Kano Code, Make Art and Make Light. Two of the apps are available as web apps which you can access with the links above. 

Kano Code uses code blocks. You can use the web app version of Kano Code if you would like to have a go. We built the following projects:

  1. Hello world: say hello in various languages

  2. Autumn leaves: automate drawing of 200 circles in Autumn colours using HSV, hue saturation & value to define colours

  3. More, more, more confetti: tweak the code in ‘Autumn leaves’ by changing the circle radius, adding loops (repeat every 1 second), and changing HSV colours to create a confetti animation

Make Art uses a textual programming language called CoffeeScript. It’s a very simple language that you can use to draw art. You can try it out in the web app version of Make Art. We built three simple projects:

  1. Sunny Day: a blue background with a large yellow circle

  2. Swiss Flag: a red background with a white cross

  3. Spooky Eyes: a black background with two white ellipses and a black circle inside each ellipse

Make Light is an app that uses Python to control a light board. We used Make Light to create the image of Pac-man (a circle) opening and closing it’s mouth, i.e. animating two images of Pac-man.

Programming with Raspberry Pi

We used Raspberry Pi to continue programming with Python. We made pixel art by programming the creation of a pixel art image. First we drew a heart on maths grid paper with coloured pencils. Then we created an array to represent the pixelated heart image.

Draw Pixel art images with Python: heart, mushroom, 'Tetris' L-block. Start by colouring in squares on grid paper. Then code up the array in Python. 
Draw Pixel art images with Python: heart, mushroom, ‘Tetris’ L-block. Start by colouring in squares on grid paper. Then code up the array in Python. 

We covered so much in three days. The Gold Coast community is going to have a wonderful time exploring and discovering with these new technologies. There are activities for 4 year olds to adults, for analytical types and creative types, whether you’re interested in digital gadgets or arts and crafts inventions, there is something for everyone.

Contact us at hello@codingkids.com.au for professional development workshops to help bring STEAM workshops for kids in your community.