They may not know how to read, but they can start coding ! The touchscreen generation can tap away and learn to be creative using code with this amazing app designed by researchers at Tuft university and MIT.
What programming constructs are available in this simple app?
Scratch Jr does have movement, sizes, hide/show of sprites, fixed repeat loops, forever loops, messaging, and events ( bump, tap). It does not have some other constructs that could be confusing and are not appropriate at this age.
Even though it may seem very simple, the app has enough powerful coding constructs while hiding many of the annoying complexities of coding, making it a powerful creation tool. Some things may not seem obvious, but there is much that can be done once you understand some basic ideas.
- User input : Only way to do this is to Tap a sprite…. No keyboard/ arrows/ mouse or text input. However you can create sprites and create a virtual keyboard.
- User output: Character can say something, or can move to a screen that tells you - won/ lose/ end etc.
- Conditionals (if statements) : There are no conditional constructs. However you can code it by using messages - for example sending a RED envelope for wrong answers, and a green envelope for correct answers.
- Multiple screens - can create Good job/ End game, set them based on envelope or user action
- Arrow keys : none but can draw and transfer control to sprite via messages
- Variables : none but can create a simple score: move arrow along number line/ move to Finish flag etc.
- X-Y coordinates: NONE: but can bring up grid block - to see how much to move (20 steps to go across)
ADVANCED PROJECT IDEAS
Catch the flowers game:
The cat must catch the falling flowers that keep falling forever - each disappears (is caught) when the cat touches them. The cat must not catch the falling mushroom. The user controls the cat using the virtual arrow keys. A moving arrow on number lines shows the score and moves to Game Over or You Win screen
- Make arrows - either draw freehand or use rect and arrow shapes and fill
- Code arrows to control the cat using orange and blue envelopes for example. Test
- Add flowers that move downwards constantly. Make each one look a little different by:
- Changing speed
- Add a turn in some of them
- Add a wait for a bit in some of them
- Start at different position
- Start after a little wait - so they all do not seem to be going together
- Change size as they fall
- Add code to make them disappear when they touch the cat and reappear after some wait… so looks like cat is catching flowers
- Add a mushroom (something that is not a flower) and code so if they catch it, you go to game over screen. Maybe it does it after a little delay.
- (Optional - first add a welcome screen before the game starts. Press the cat or a START button to start the game and move to the first screen. You can add screens and move them later.)
- (optional - keep count of how many flowers) Add an arrow that moves to a goal.. (add a number line - optional. ) Finish flag, planet, goal and an object like arrow, rocketship, car move to goal… when goal is touched by this object, go to you win game…
- Code so each flower sends a green envelope and mushroom sends a red flower. Arrow moves up on green, and down on red.
- Add a Play AGAIN button on the Game Over screen
Get to the CAKE GAME
This is a simpler game than the Catch the Flowers game and can be extended to behave more like a maze.
- Set it so Cat hops - moves upwards on touch. So user can move it upwards by touching it multiple times…
- Add an object the cat must reach - example a cake.
- Create a You WIn Screen
- When cake touches the cat - goes to You Win screen.. So make a You Win screen and code the cake
- Create at least 2 obstacles - simple platforms using the editor (rectangle block/fill) and code it to move right to left forever.
- Create a You Lose Screen
- Code the obstacles so if they touch something (the cat that may be moving up), it goes to a You Lose screen.
- Add a question to the sprite or as a heading and different sprites as possible answers
- Code the wrong answers to send a 'red' envelope
- Code the correct answer to send a 'green' envelope
- Code the cat or control sprite to say 'Try again' or 'Good Job' and/or switch screens based on the color of the envelope.
- Move to a new screen with the next question when answer is correct to have a quiz with more than one question
ASK STUDENTS TO USE SCRATCH JR TO SHOW WHAT YOU KNOW
Have students demo their learning buy making a scratch Jr project.
Example - explain subtraction, see cute project at https://www.youtube.com/watch?v=XoXK10wj2lk