First Project

Advice on projects for beginners

Projects are intended to foster Innovation. Rather than focusing purely on an output, learning, creativity and innovation are key. Initial projects will therefore combine art and technology, and include AI.

A first project should be based around Scratch (a simple language designed for children) and simple robotics.

By using tools for children, we can start simply, become familiar with the techniques and add more sophistication later. Here’s an example.

Build a simple robot car

Start with Lego Boost (no longer sold by Lego but readily available at a reasonably price).

Build the sample robot and program using the Boost app.

Create a simple robot car using the same techniques.

Create artwork

Take photos of an interesting street scene

Use AI to add more interest to the scene.

Use AI to convert a car to a robot car.

Use the Street Scene and Robot Car in a simple Scratch animation

Combine the art and robotics

Rewrite the Boost app using Scratch and combine the animation.

The robot car will be synchronised with the animated car.

Train an AI and add to the project

Use Machine Learning For Kids to recognise hand gestures.

Load the Scratch program into Machine Learning For Kids

Combine the Scratch program with the Gesture Recognition Program

Gestures will control the animation and the robot car.

Orchestrate a simple story

Write a simple story about the street scene and robot, and use AI to improve on it.

Music

Use the storyline and general atmosphere of the story to generate music using AI. It will play while the code is running.

The innovation and creativity comes from creating something interesting at each stage and combining them into a project. Coding and AI aren’t innovative in themselves, its what you do with them.

Note on the use of Scratch. We use Scratch, as not only is it designed for children and simple to use, but is the only language that can handle everything we want to do. For more difficult projects, without Scratch, we would need to combine block based coding, python, micro python, Arduino “C” and p5.js. This is something I do when Scratch or an equivalent doesn’t link to a particular microprocessor or device.