Scratch Coding Projects- ScratchLink

Introduction

This guide is aimed at helping Teachers, Librarians, Parents and self-learners by providing learning and support resources for:

  • Scratch: simple visual drag and drop coding language designed for children
  • ScratchLink: Scratch programmable Robotics hardware including game controllers, experimenters and robots.

You will be able to:

  • Learn Scratch
  • Teach Scratch and utilise the many teacher resources either as class lessons or after school clubs or library engagement sessions
  • Utilise Units of work for Coding and Robotics based on Scratch and ScratchLink
  • Sequence, scaffold and differentiate your coding units with our resources rated for Beginner, Intermediate & Advanced with both Core and Extension level exemplars provided for every project

Do I need to buy Scratch-Link to get started?  No, the Scratch only units do not require any extra hardware.  Get started and move into physical computing and robotics with Scratch-Link etc later.


Scratch (MIT) Introduction

Scratch is the current version of the highly acclaimed educational visual programming language (VPL) from Massachusetts Institute of Technology (MIT) Media Lab.  It is designed as an easy and fun introduction to programming for kids 6-16 years of age.  Watch the Sractch Overview video below.

Software- Scratch Online

You can create scratch animations and programs using ScratchLink.codes Online through your browser.

However it is usually best for educational purposes to install Scratch 2 Offline Editor on computers so that an internet connection is not required (Mac & PC).  There is also a network MSI for Scratch.

Scratch programs created in the offline editor are interchangeable with the online editor- so this is an excellent feature that allows students to work on their projects from home or their device that can access Scratch Online.

Online Help Resources

You will need a Scratch Online account for some of the help resources but not all.

The Scratch Team have provided some printable pdf resources being the Getting Started Guide and a series of Scratch Cards, plus the following introduction to Scratch Video.

ScratchEd is an online community for Scratch Educators. Scratch Wiki contains a Scratch Reference Manual and other useful resources.  The main Scratch site also has a discussion forum.  However these are probably not necessary for educators to start delivering introductory Scratch Coding but are quite useful for complex or unusual projects.

It can be useful to get some ideas from other online Scratch users by exploring online projects or utilising Scratch Studio which s a collection of tutorials contributed by users.  Please take note that while other user’s online user projects and tutorials can sometimes be useful they are sometimes of limited usefulness and quality for classroom use.

Online Starter Projects

The Scratch website has lots of Starter Projects (require Scratch Online account) covering:

Online Scratch Tutorials

The MIT Scratch Team have created a series of  useful Video Tutorials:

The Scratch Team have also produced a series of Video tutorials concerning creating backdrops and sprites using the Paint Editor

Scratch Online Help

This section refers to using Scratch 2 offline i.e. Scratch 2 installed onto your computer that you run as a “program” not the Scratch website that runs through your browser over the internet to the MIT server.  Install Scratch 2 Offline Editor if you haven’t already done so or get your IT admin to use the network MSI for Scratch 

Class Tips for Scratch

Project Rating & Sequencing

FIX HYPERLINKS
ScrachLinks
robotics
learning and sequencing concepts listed below

Scratch2 and all the resources provided on StemAcademy are suitable for learners from early Primary through to Middle School.  At the present time many different year levels are starting coding for the first time and will need to start at roughly the same place.  However the speed and depth of learning will vary greatly depending on the learner.  Rather than thinking of coding as a narrow set of procedural skills or knowledge it is better to focus on the underlying complex reasoning, analytical and communication skills as with other branches of science and maths.

Scratch2 could just be a tool to create simple animations, however, it is also a powerful tool for Project Based Learning(PBL) as is its extension into physical computing with ScratchLinks and robotics.  Using Scratch2 and PBL can have great learning outcomes and engaged classrooms for mainstream classes with a broad spectrum of types of learners at various levels.  However, it’s important to keep projects as concrete and cognitively simple as possible in the beginning and sequence coding concepts from beginner to advanced as in the tables below.  Differentiating for diverse levels and styles of learning is possible with appropriate scaffolding and exemplars.  PBL can be equally successful with concrete thinkers with low complex reasoning skills and abstract thinkers with high reasoning and communication skills.  The examples given below are to help educators plan learning experiences.  

All of the projects provided will utilise the learning and sequencing concepts listed below and rated from Beginner to Intermediate and then Advanced.  Furthermore, each Beginner, Intermediate or Advanced level project will also provide both Core Tasks and Extension Tasks.  Combined with our support resources and full exemplars this allows for appropriate scaffolding and differentiation to cater for a wide spectrum of learners in mainstream classes.


Scratch Intro Projects (No Hardware)

This chapter is an example of a Scratch Unit of work of about 10-25 hours depending on prior experience and skill level etc.  It includes two separate threads of Core and Extension level projects throughout for differentiation.  It could be done initially with just the Core level projects and then revisited with the Extension level projects or done all at once depending on your needs.

This chapter also serves as support material and exemplars for the Scratch Coding Challenges.

Please ensure that you have a rudimentary working knowledge of Scratch by reviewing Chapter 1 and if you are an educator then please review Class Tips for Scratch and the Project Rating and Sequencing used here.

Animation- Project Intro (Beginner)(Core & Extension)

Animation- Generic Project Intro

FIX HYPERLINKS
all links related to prerequisite

Level: Beginner (Core & Extension)

Task Sheet: Word or PDF

Robotics Hardware required: None

Prerequisite:  Learnt the basics of Scratchconsidered Scratch Classroom Tips and Project Rating and Sequencing

The hyperlink associated with the starter code with tasks (core and extension) — was from Scratch.sb2

Starter Code with Tasks (Core & Extension)

Core Tasks:  Create a Scratch Animation that will serve as an introduction for your future Scratch Projects and contains:

  1. Project overview
  2. Team introduction
  3. Explanation of how your introductory animation works with an algorithm and code comments

Extension Tasks: Utilise the following animation techniques:

  • Shrink/Grow
  • Change colour
  • segment transitions using backdrops, effects or sprite clicks etc
  • multiple costumes for the same sprite

Resources, Exemplars & Video Tutorials:

Scratch.mit.edu Online (MIT Server) Examplars: 

Scratch Offline Editor Exemplars: (i.e. run on your PC not via internet)

Core Exemplar: Animation- Project Introduction (Core Only).sb2

Extension Exemplar: Animation- Project Introduction (Core Only).sb2

Video Tutorials for this task:

Animation- Pong Algorithm (Beginner)(Extension Only)

Animation- Pong Game Algorithm

FIX HYPERLINK
ALL PREREQUISITE INFO*

Level: Beginner (Extension Only)

Robotics Hardware required: None

Prerequisite:  Learnt the basics of Scratch, , considered Scratch Classroom Tips and Project Rating and Sequencing

The hyperlink associated with the starter code with tasks (extension only) — was from Scratch.sb2

Starter Code with Tasks (Extension only)

Extension Tasks: Utilise the following animation techniques:

  • Shrink/Grow
  • Change colour
  • segment transitions using backdrops, effects or sprite clicks etc
  • multiple costumes for the same sprite

Resources, Exemplars & Video Tutorials:

Scratch.mit.edu Online (MIT Server) Examplars: 

Scratch Offline Editor Examplars: (i.e. run on your PC not via internet)

FIX HYPERLINK
The hyperlink associated with the pong algorithm exemplar (extension) — was from Scratch.sb2

Pong Algorithm Exemplar (Extension)

Video Tutorials for this task:

Pong Game (Beginner)(Core & Extension)

Animation Example & Tutorial  : Pong Game (Beginner)

FIX HYPERLINKS
basics of Scratch
considered Scratch Classroom Tips
Project Rating and Sequencing
Pong starter scratch code — from scratch.sb2

Level: Beginner (Core & Extension)

Task Sheet: Word or PDF

Robotics Hardware required: None

Prerequisite:  Pong Starter Game tutorial by the Scratch Team which is in Scratch2 offline Editor/ Tips /Step-by-step/ Create a Pong Game

 Learnt the basics of Scratchconsidered Scratch Classroom Tips and Project Rating and Sequencing

Core Tasks: Starting with the Pong Starter Scratch Code (from Scratch Team) add the following features:

  1. Change the Ball Sprite Costume
  2. Change the Paddle Sprite
  3. Change the backdrop
  4. Control the paddle movement with the keyboard arrow keys
  5. Adjust the difficulty appropriately with the speed of the ball and responsiveness of the paddle
  6. Provide an algorithm of your code action and control logic either flow chart or english list
  7. Comment your code with brief explanations of the logic or actions of blocks but do not repeat the block words
  8. Test and evaluate your final code- state how well it meets the core task?  How would you improve it?
  9. Put all of the above in your scratch code or as directed by your teacher
  10. Save all your work with your name and task, i.e. “Johnny_B_Pong.sb2”

Extension Tasks:

  1. Apply appropriate duration sounds to sprite interaction- i.e. ball hitting paddle and ball getting out.
  2. Change sprite costume with sprite interactions
  3. Create multiple balls
  4. Create two paddles and control one with the mouse and one with the keyboard
  5. Update your algorithm, code and comments appropriately

Resources, Exemplars & Video Tutorials:

Scratch.mit.edu Online (MIT Server) Examplars:

Scratch Offline Editor Examplars: (i.e. run on your PC not via internet)

FIX HYPERLINKS —both scratch.sb2

Video Tutorials for this task:

Merge Scratch Projects

Complete Project by Merging Animations

Make a Plan

I would like to bring everything together into the one big animation project and I’d like to use the extended versions of my projects.  So my animation would have the following:

  • Project Introduction animation (extended)
  • Pong Algorithm animation
  • Pong game animation
  • Transitions between the animations requiring user keyboard input

The three animations are already done but I need a plan for:

  1. Merging all the code from the three separate animations: sprites and their code can be saved to a file and then imported into another animation so this will allow me to merge all the sprites and code into one animation.
  2. Triggering the transitions between animation segments:  I plan to change the backdrops of the beginning and ends of the 3 animations and use the Event “When backdrop changes to?” to start the next animation (group of sprites)

Merge all Sprites and Code

Merge the smaller programs (Scratch Animation) into the larger one.  So, I will merge the Pong Game Animation Sprites and Backdrop into the Project Introduction Animation as that has 5 Sprites while the Pong Game only has two, so this saves work.  Make separate folders and save all your Sprites and Backdrops from each animation.  The video below shows how.

Create Transitions and Create Single Merged Animation (core)

Video Tutorial:

In this example we are going to signal the Pong Game to start i.e. transition from one animation section to the next by signalling using the changing of Backdrops. This video explains how?

Exemplar (Example Finished Animation):

Combined Animation of Intro and Pong (offline)

Combined Animation of Intro and Pong (online)

Extended Merged Animation- Intro(Ext) + Algorithm + Pong Game (Ext)

If you have been doing the Extension projects then we can now merge all three i.e. extension introduction, pong algorithm and the extension pong game.  

This task requires good planning, custom naming/saving and ordering of files to avoid confusion.  Consider the following when planning this task:

  • Save all the sprites and backdrops from the Pong algorithm animation and the extension pong game with appropriate names and in folders so that you don’t get mixed up
  • Start with the first animation segment i.e. open up the Extension Intro to Project Animation and then import the Pong Algorithm Sprites and Backdrop and then lastly, the Extension Pong Game Sprites and Backdrop- this will put all your Sprites in order of the Animation sequence i.e. Intro – Algorithm – Pong Game.
  • Use something to transition or signal between animation segments (backdrops used here)
  • Find the final thing to happen i.e. sprite to place the transition signal (change backdrops block)
  • Sprites from the first two animation segments will need to be hidden after they have finished otherwise they will continue to show in the next animation segment so use the hide block

Exemplar (Example Finished Animation):

Extension- Combined Intro+Algorithm+Pong Animation (offline)

Extension- Combined Intro+Algorithm+Pong Animation (online)


Video Tutorial:

Video Tutorial:


WiInterface Projects

NunChuk Buttons&LEDs+Pong Game

NunChuk Buttons+Pong Game (Beginner)

Level: Beginner (Core & Extension)

Hardware required: WiInterface, Funster or ScratchLink with NunChuk

Prerequisite:  Pong Starter Game tutorial by the Scratch Team which is in Scratch2 offline Editor/ Tips /Step-by-step/ Create a Pong Game

FIX HYPERLINK — scratch .sb2

Core Tasks: Starting with the Pong Starter Scratch Code add the following interactivity with physical hardware:

  1. LEDs to illuminate appropriate colour and duration when ball is struck by paddle and when ball gets out and game is over (outputs)
  2. Control the paddle movement with the Nunchuk buttons (on/off or 0/1 i.e. digital inputs)
  3. Adjust the difficulty appropriately with the speed of the ball and responsiveness of the paddle via the Nunchuk
  4. Change the sprites and backdrop to something appropriate
  5. Provide an algorithm of your code action and control logic either flow chart or english list
  6. Comment your code with brief explanations of the logic or actions of blocks but do not repeat the block words
  7. Test and evaluate your final code- state how well it meets the core task?  How would you improve it?
  8. Put all of the above in your scratch code or as directed by your teacher
  9. Save all your work with your name and task, i.e. “Johnny_B_Pong.sb2”

Examplar Code:

fix hyperlink — scratch.sb2

Pong Game Starter + Wii buttons & LEDs

Video Tutorial:

Inventor Example & Tutorial 2


WiiMatrix Projects

Dot Matrix Animations

The 16×16 Dot Matrix display allows images to be displayed.  These dot matrix images can be created inside ScratchLink Code Editor or in a separate Windows program called Dot Matrix Editor.

FIX HYPERLINK

Download Dot Matrix Editor for Windows (extract zip file after download)

 Instructions for using the Dot Matrix Editor for Windows and creating Scratch code using the stored images is explained in the following video.


WiiExperimenter Projects


eBot Projects

Check Wheels & Sensors (eBot)

The following video describes how to check basic functioning all sensors and outputs.

Keyboard Remote Control (eBot)

Using Scratch Coding editor i.e. Scratchlink.codes make a simple remote control interface for eBot that allows you to drive the robot around with keyboard inputs.  

Download: eBot Remote Control Scratch Code.  Full details in the video below.

Display Sensor Data (eBot)

Sensor data in the ScratchLink Code Editor immediately displays on the Scratch Stage by clicking the box next to the desired reporter block.  Watch the video for full details.

Download Scratch code: Display Sensor Data  and this is the eBot Sprite used (PNG).

Keyboard Remote Control & Display Sensor Data (eBot)

The remote control scratch code for eBot is combined with the code that displays the sensor data.

Download Scratch Code: Combined Remote Control and Display Sensor Data for eBot

Clicker Remote Control & Sensor Data Display (eBot)

Remote control for the eBot is by way of clicking on sprites plus sensor data is displayed.

Download Scratch Code: Clicker Remote Control & Sensor Data Display for eBot

Full details in the video.

Obstacle Avoidance (eBot)

Program eBot to navigate autonomously while avoiding obstacles.

Download Scratch Code: Single Ultrasonic Sensor Obstacle Avoidance

Download Scratch Code: Two Ultrasonic Sensor Obstacle Avoidance

Download Scratch Code: Two Ultrasonic Sensor Obstacle Avoidance + Close Proximity Backup

Download Algorithms (PDF)

Three algorithms covered being single ultrasonic sensor, dual ultrasonic sensor and dual ultrasonic sensor plus close proximity backup.

Watch the video below for full coding instructions:

SUMO (SUMO PLUS) (eBot)

Stay in Ring Task:  Study the algorithm as a PowerPoint presentation or video (colour-sensor) and video (light-sensor). Your robot should behave something like this video.

Scan and Charge Task:  Study the algorithm as a PowerPoint presentation.

Claws Task:  Study the algorithm as a PowerPoint presentation. Your robot should behave something like this video.

Scan and Charge + Claws Task:  Study the algorithm as a PowerPoint presentation

SUMO: Stay in Ring + Scan and Charge Task: Study the algorithm as a PowerPoint presentation.

Stay in Ring + Scan and Charge + Claws Task:  Study the algorithm as a PowerPoint presentation. Your robot should behave something like this video.

Line Follow (eBot)

Single Sensor Bang Bang Task: Study the algorithm as a PowerPoint presentation. Your robot should behave something like this video.

Line Follow – Single Sensor Finish the Turns Task:  Study the algorithm as a PowerPoint presentation.

Line Follow – Two Sensor Bang Bang Task:  Study the algorithm as a PowerPoint presentation.

Line Follow – Two Sensor Finish the Turns Task:  Study the algorithm as a PowerPoint presentation.

Sumo Rescue (eBot Max)

Get the Can Task (Scan & Charge): Study the algorithm as a PowerPoint presentation. Your robot should behave something like this video.

Line Follow + Get the Can Task:  Study the algorithm as a PowerPoint presentation.