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
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"
- Think about how you will reset your programs

Materials/Curriculum 



Scratch Basics & Exploring

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

- 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




- 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
.. Add these scripts to your Tag file


- 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
- EXPERIMENT WITH A SHORT SCRATCH PLAY
- CHOOSING RANDOM NUMBERS
- FROM RANDOM NUMBERS TO WORDS
- 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



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 with Scratch
Traveling Salesman Problem - New shortcuts, we'll look at the first part of this article


Muddx Section 8 - Intro to games

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
- How would you make the jump size bigger

- Finish and customize either the helicopter, jumping, or maze game 
.. Follow instructions on Muddx course


Make Your Own Blocks

Muddx Section 9


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

Even More Strategies for Games Muddx

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)
- 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