SCRATCH

Learning Goal

- Students will understand basic programming concepts using a visual environment

- Students will be able to use Scratch to create their own interactive projects

Scratch is a visual programming language that will help introduce us to some basic programming concepts. It was developed by MIT to help people learn to code in a non-threatening way. This video gives a good overview of Scratch. Scratch is used in Harvard's intro to programming course.

Hands on tutorials are one of the best ways to learn a new technology. Finding and using these resources is an essential part of becoming a lifelong learner. Below I've given you just a few of the many places to find help.

Help & Tips

- Scratch Help - Resources right on the Scratch page

- Scratchprogramming - Another course on using Scratch

- Explore and "See Inside" other's projects

- Search for "scratch sprites"

- Importing Sprites

- Think about how you will reset your programs

Materials/Curriculum

- MuddX Scratch Course - closing

- Google CS First

Scratch Basics & Exploring

10 Block Challenge - Use the instructions on this page to see what you can create

Challenge 1

- Have to think about how a user would reset your code

- Publish and post on Schoology

Repeating

In class we'll watch some videos on repeating (loops) in Scratch. You will then try to make your own song using what we learned.

NESTED REPEATS

COMPLEX NESTED REPEATS

TRICKY NESTED REPEATS

SET INSTRUMENT

Module 2 - Repeating

Scratch Variables - In class we'll cover the info on variables from this course.

- Set & change tempo

- Exploring with tempo

- Changing tempo in a repeat

- 13. Increase then decrease

- Why & how to use variables to play scales

- Variable Tutorial 14. Basic Scale

- WHY ORDER MATTERS IN THE ITERATION PATTERN

- PLAYING EVERY OTHER NOTE

- UP AND DOWN

- COUNTDOWN

- USING ITERATION TO HEAR DIFFERENT INSTRUMENTS

- 18. Electric Keyboard

- ELECTRIC KEYBOARD - PART 1

- ELECTRIC KEYBOARD - PART 2

.. Map 13 notes to keys

.. Map 9 instruments to keys

.. Map volume up & down to keys

.. Map tempo up & down to keys

- Publish and post Electric Keyboard on Schoology

Coordinates & Tag

- SET AND CHANGE WITH X-Y AXES

- IF INTRODUCTION

- USING IF BLOCK WITH VARIABLES

- USING AND, OR, AND NOT

- WORKING WITH MULTIPLE IF STATEMENTS

- CHANGING VARIABLES IN MULTIPLE IF STATEMENTS

- CONCURRENCY AND RACE

Age Project

- MULTIPLE WAYS OF MOVING THE SPRITE WITH KEYS

- WORKING WITH MULTIPLE SPRITES

- Start a new Scratch file and call it Tag

    • Add two characters that can each move with different keyboard keys
    • Name each of the sprites

- PLAYING A GAME OF TAG

.. Add these scripts to your Tag file

- FOREVER-IF VS. IF-FOREVER

- CONDITIONAL BLOCKS AND SENSING

- KEEPING SCORE IN A GAME OF TAG

- WORKING WITH RANDOM

- RANDOMLY APPEARING POWER-UPS

- A SERIOUS GAME OF TAG

.. Add obstacles and extra features to your game of tag

.. Here are some ideas:

> If a sprite touches the edge, subtract 1 from the variable score

> If a sprite touches the edge, add 1 to the variable score

> Add some obstacles (like LAVA!):

> If a sprite touches an obstacle, subtract 1 from the score

> If a sprite touches an obstacle add 1 to the score

> Add platforms for your sprites to stand on

> Add black holes which make your sprite disappear and reappear somewhere else (Hint: use the hide block)

.. Make sure to have score, at least one obstacle, and at least one powerup

.. Publish and post on Schoology

Broadcasting

What does it mean to broadcast?

Muddx

- BROADCAST

- EXPERIMENT WITH A SHORT SCRATCH PLAY

- BROADCAST VS. BROADCAST AND WAIT

- ROCK PAPER SCISSORS DEMO

- CHOOSING RANDOM NUMBERS

- FROM RANDOM NUMBERS TO WORDS

- PICKING A RANDOM NUMBER

- ADD A REFEREE

- SCORE YOUR GAME

Rock, Paper, Scissors Game

- Complete your game

.. Follow instructions on Muddx course

- Publish and post on Schoology

Scratch Story

- Interesting story

- At least three scenes

- At least two sprites

- At least 5 say or think boxes

- Animate movement of characters

- Use broadcast to change scene

- At least one conversation between characters

- Title scene

- Story starts & runs by itself when green flag is clicked

- Publish and post on Schoology

Timer Project

Using programs to solve complex problems

Module 7 - We'll use this link to talk about the Towers of Hanoi problem and it's history. Remember, the amount of time it takes to complete a problem increases as more inputs are added. We will also review the traveling salesman problem on pg. 4 (which we've covered before).

- Towers of Hanoi

- Towers of Hanoi with Scratch

- Traveling Salesman Problem

- Traveling Salesman Problem - New shortcuts, we'll look at the first part of this article

Muddx Section 8 - Intro to games

SAVE AS A COPY

HELICOPTER WITH PLATFORMS - We'll start a new project and add the scripts from this video

JUMPING SPRITE - Add the scripts from the video in a new project called jumping sprite. Also, add controls for walking right and left with a costume change

- Use this file to remix

- How would you make the jump size bigger

MAKING A MAZE

- Finish and customize either the helicopter, jumping, or maze game

.. Follow instructions on Muddx course

Make Your Own Blocks

Muddx Section 9

- DRAW A SQUARE BLOCK

Module 9 - Advanced Game

- Use Scratch to program the game based on the instructions

- Make sure to test your game and make sure you've included everything

- Share your game and send it to me on Schoology

More Strategies for Games

Muddx Section 10

- HAVING A SPRITE FOLLOW THE CURSOR

- TARGET GAME

- CREATING CLONES

- MULTIPLE LEVELS

- MULTIPLE LEVELS WITH LEVEL NUMBERS

- MULTIPLE LEVELS WITH GOAL AREA

Even More Strategies for Games Muddx

- SCROLLING GAMES

- HEALTH METER

Scratch Custom Game - Use this rubric to create your own custom game

Scratch Final Project

Module 10 - Final Project

- Create a new Google Document and call it Scratch Module 10 Final Project

- Use the document to brainstorm your project ideas (pg 3-5) and project design (pg 8)

.. Project ideas

- Use Scratch to program a project that meets the following requirements:

.. At least 2 sprites (one should be custom or imported)

.. More than 1 backdrop

.. Iteration (repeat loops)

.. Conditional statements (if….)

.. At least 1 sound

.. At least 1 variable

.. Costume or Looks change

.. At least 1 block from each block group

- Debug and test your program

- Share your project and send it to me on Schoology with your brainstorming/design sheet

.. Submit your assignment on Schoology and post it in the comments section of the assignment

.. Test and comment on at least two classmate projects