Posts Tagged ‘scratch’

Introducing ‘Machine Learning for Kids’ to teachers

Thursday, December 17th, 2020

I gave a short talk about Machine Learning for Kids last week as part of an online conference run by Somerset eLIM. Here’s the recording.


youtu.be/8St1REZbE5w

I started with a couple of definitions, then demonstrated a variety of projects that I’ve seen primary school students make, and finally walked people through a hands-on demo so they could try it out for themselves.

Running TensorFlow models in Scratch

Thursday, November 19th, 2020

I gave a short presentation today to explain how you can use TensorFlow machine learning models in the student block-based coding platform, Scratch.

This post has the recording of my presentation, and I’ve put some notes (all the stuff I meant to say but forgot!) and screenshots below.


recording at https://youtu.be/qHKwtefn21w

I demonstrated three things:

  1. Using your own TensorFlow models in Scratch
  2. Using pretrained models in Scratch
  3. Creating TensorFlow models in Teachable Machine and using them in Scratch

(more…)

Geo-spatial data in Scratch

Wednesday, November 13th, 2019

In this post, I want to share a random thing I made in Scratch this week, and ask for suggestions of what I could do with it.


Click for larger version

I get a lot of emails from teachers and coding groups asking for help with Scratch projects. They’re normally small or specific questions – asking for help figuring out a bug in a Scratch project or how to get something working.

But this week I got a more challenging email. It asked for a way to show a map in Scratch, and use a Scratch script to plot points on the map, given coordinates in latitude and longitude.

I agreed to give it a try. (Details for how to access it below.)

(more…)

NASA Space Apps Challenge at Hursley

Sunday, October 20th, 2019

This weekend was NASA Space Apps Challenge again – a weekend space-themed hackathon organised by NASA. It runs around the world, and this year IBM Hursley hosted one again.

I was in a small team with Faith. There were a variety of challenges to choose from and we chose Orbital Scrap Metal which was about educating the public about orbital debris, or space junk – explaining what it is, where it comes from, and the potential impact it has.

We created a game to help kids learn about space debris while playing. It’s fun, educational, and is all driven by real live data about space debris – each time you play, you interact with different real debris items.

(more…)

The Scratch coordinate system

Tuesday, July 23rd, 2019

In Scratch 3, the stage in the top right where your sprites live is implemented as an HTML canvas. Unfortunately the internal coordinate system used by Scratch logically to maintain state, and the coordinate system used by HTML canvases both work very differently.

For some of the Scratch blocks I’ve written for Machine Learning for Kids, I need to be able to convert between coordinates and sizes between the two different coordinate systems.

For example, my ML blocks can let a student use an image classifier they’ve trained to recognise what is on the background behind a certain Sprite in their project. To do that, the backdrop image block needs to:

  1. get the location of the Sprite (which will be returned using the Scratch coordinate system)
  2. get the image data of what is rendered on the canvas at that location (using HTML canvas APIs – using the HTML coordinate system)

I couldn’t find a way to convert between the two documented anywhere, and it was a tiny bit fiddly, so I’m documenting it here for the next time I need it!

(more…)

How to increase your social impact

Sunday, June 16th, 2019

This is a talk I gave at an event about how we are able to make a social impact through volunteering and community projects.

I’ve written before about how I made Machine Learning for Kids. But this talk had a different focus.

For this presentation, I looked to see if there are any general lessons that could be learned from my experience, to let me offer a little advice for people working in large companies like IBM about how to increase the impact of their volunteering efforts.

(more…)

How to create a Twitter API proxy using nginx in Cloud Foundry

Sunday, November 18th, 2018

In this post, I’ll describe how to run nginx in Cloud Foundry to provide a Twitter API proxy that includes authentication and caching.

First, I want to talk a bit about why I wanted this, but if you don’t care about any of that, you can just skip to the code at the end of the post. 🙂

I’ve wanted for a while to enable projects in Machine Learning for Kids that use tweets. Using live tweets is a great way to make text analytics real for students, and a good example of how natural language processing is used in the real world.

The question was how to enable this from Scratch in a way that would be easy to use by schools.

The title of this post gives away the answer I ended up with, but I’ll describe why.

(more…)

Noughts and Crosses AI demo for Science Fair events

Monday, May 28th, 2018

A hands-on demo for use at a small STEM event – letting kids train a simple AI system by playing a few games of noughts and crosses.

I prepared an activity for a STEM event in London this week. The idea was to make something for a Science Fair sort of event – where children will be walking past a stand, and might stop for a minute or two to try out an activity.

The objective was to come up with a hands-on demo that would enable a volunteer to talk to the children about machine learning.

As I’ve written it, I thought I’d share it here in case anyone else might find it useful for another event.

Noughts and Crosses

It’s based on the noughts-and-crosses activity that I’ve used before. Kids play noughts-and-crosses against a simple artificial intelligence system. The computer uses a machine learning model to decide where to make it’s moves. And that machine learning model will be trained throughout the event using the moves from every game so far.

Download the instructions here

(more…)