Scratch Resources for Educators Compiled by Julia Tebbets, Sewickley Academy Free software downloads and documentation from MIT: Windows, Mac, and Ubuntu Scratch Installers: http://info.scratch.mit.edu/Scratch_1.4_Download Getting Started Guide: http://info.scratch.mit.edu/sites/infoscratch.media.mit.edu/docs/ScratchGettingStartedv14.pdf Printable cards from the Scratch Team at MIT with 12 samples of code and graphics showing what they do: http://scratch.wik.is/Support/Scratch_Cards Complete Scratch Reference Guide: http://info.scratch.mit.edu/sites/infoscratch.media.mit.edu/files/file/ScratchReferenceGuide14.pdf Scratch forum for educators: http://scratch.mit.edu/forums/viewforum.php?id=7 Excellent course of Scratch video tutorials with lessons and extension activities: http://learnscratch.org/ Lesson plans Basic, six-session lesson plan from Belmont Hill School with all resources. Relies on demos published on YouTube: https://docs.google.com/Doc?docid=0AWdX57Dqx0tEZGZubWZxdGRfMzc1Y3RmdG4zaGI&hl =en Lesson plans teaching the concepts of sequence, iteration, conditional statements, variables, and messages (interaction between objects): http://www.redware.com/scratch/ Plans from award-winning Scratch class in Germany: http://www.funlearning.de/ Wide variety of elementary-level projects (games, music, art): http://nebomusic.net/scratch.html A variety of Scratch lesson plans, including a detailed, six-part lesson on making an advanced Mario game that helps teach game design/planning: http://www.shallwelearn.com/scratchprogrammingforkidscategory/basic-scratch-programming Kevin Karplus’s after-school Scratch club in California publishes a newsletter of their activities http://www.soe.ucsc.edu/~karplus/tech_club/ and sample projects at http://www.soe.ucsc.edu/~karplus/scratch_programs/ Article on a class that used Scratch to program for disabled students, lead by teacher Karen Randall of St. Paul, MN: http://www.thejournal.com/articles/21743 Lesson plans from an Intro to Animation and Game Programming Summer Camp held at Sewickley Academy: Creative Commons Attribution-Noncommercial-Share Alike The camp consists of five three-hour sessions with a snack and recess break mid-morning. Participants range in age from 8 to 12 years. Demo files are included with the installed program in the Projects folder, or are located in the More Sample Projects folder on this CD. Day 1 1) If students do not know each other, conduct ice breaker such as having them teach each other something they know how to do, or share three personal items they would take if they had to live on an island for a month. 2) Show several demonstration projects: Sprites following mouse pointer, clickable faces that change, ball catch or pong game, fish game with score, etc. 3) Show the Scratch board. What do students notice? What do they expect these elements do? Point out blocks, scripts, sprites, stage. After each of the following steps, participants were allowed time to practice, explore, and play with the program. Time ranged from 5 to 25 minutes, depending on student engagement. If students become involved in a complex project, they saved the project when it was time to move on and returned to it at the end of the week when time was allotted for independent pursuits. 4) Make cat sprite move. Blocks: Move X steps, Forever (or Repeat until), Wait, If on edge bounce. To troubleshoot sprites flipping upside down at edge, introduce rotation buttons at top of Scratch screen. Activate script by double clicking top block. Try block When green arrow clicked. 5) Define forever (=looping) vs. repeat set number of times (=iteration). 6) Add a new sprite or surprise sprite. 7) First project: Make a custom “spin with the mouse” activity. Put blocks on a sprite: When green arrow clicked, forever, point towards mouse. Duplicate the sprite (blocks will also be duplicated) repeatedly to fill the stage. 8) Add a new sprite or surprise sprite. Add sound and a speech bubble to a sprite. Blocks: When green flag clicked, Play sound, Wait 1 second, Say X. Play with Import button under Sounds tab. 9) Experiment with different type of motion for the sprite. Block: Glide to X,Y. Show layout of stage as X/Y coordinates: -240 to 240 X, 180 to -180 Y. 10) Add graphic effects to the sprite. Blocks: Change (color, other graphic effect) to (25), When sprite X clicked, Set effect to 0, When green arrow clicked. 11) Set a sprite to whirl in response to the mouse’s movement. Blocks: Change whirl effect to, mouse X (a sensor block), forever. Day 2 1) Second project: Animate a sprite by switching the costume. Add a costume or copy and edit the costume under the costume tab. Blocks: When green arrow clicked, Forever, Switch to costume X or Next costume, Wait .2 second. Combine with Move block. 2) Add or draw a background for the animation. 3) Third project: Make an animated name or other word using graphic effects, motion, and costume changes. 4) Demo clickable faces projects (Totem Interactive and Expression Creator). 5) Fourth project: Make a clickable face, dress-up, or similar costume change project. 6) Pen. Make a sprite that draws a colored line as it moves. Blocks: Clear, Set pen size to X, Pen down, Forever, Move, Change pen color by X, If on edge bounce, Turn X degrees, Random 1 to X. Creative Commons Attribution-Noncommercial-Share Alike 7) Show Swirloscope. Fifth project: make a custom Swirloscope with sprites or dots. Blocks: Clear, Forever, Move, Stamp, Change color by X, When left arrow key pressed, When right arrow key pressed, Turn X degrees. Day 3 8) Define and practice using conditions: difference between set path (Go to or Glide to blocks), and reacting to environment (if on edge, bounce). Blocks: If touching edge, Play sound. Forever if color X is touching color Y, Say “Hello”. 9) Discussion: What is a game? Elicit that a game… a. Is interactive, changes based on players’ decisions. You have to participate. b. Has resource(s) to manage (time, lives, experience points, etc.). c. Has token(s) you manipulate directly to manage resources. d. Has opposition (obstacles or opposing players) e. Has goal(s) and conditions for victory. 10) Demo how to create a “score” variable and set conditions for victory (If score > X, Show Sprite “You win!”, Stop all scripts. 11) Sixth project: Make a click to score game. 12) Use random number block to create unpredictable movement of sprite to be clicked (Move random number of steps, Turn random number of degrees, etc.). Day 4 13) Reacting to another sprite. Blocks: Broadcast and When I receive. 14) Demo fish game. Seventh project: Make a fish game or other predator/prey game with multiple sprites affecting each other. Day 5 For students’ personal projects. Visit the Scratch community web site at http://scratch.mit.edu for inspiration. Review website terms of service with students. Lesson plans from a Grade 5 computer class project at Sewickley Academy: The class met once per week for 40 minutes. Students had already completed several of the Scratch card activities prior to these lessons. Demo files are included with the installed program in the Projects folder, or are located in the More Sample Projects folder on this CD. Class 1 Review how to program sprite to move using the four arrow keys, using the move, point in direction, and when key pressed blocks. Review how to copy and edit a costume. Review how to set starting costume, and how to make the costume change periodically by using forever, next costume, and wait blocks. (Example on CD: Class 1 Costume Change) Class 2 Review concepts of looping and iteration. Using a “forever” loop, move, if on edge bounce, and turn # degrees blocks, program sprite to move around the screen when green flag clicked. Using when key pressed, repeat # times, and play sound blocks, make sprite repeat a sound when a given key is pressed. (Example on CD: Class 2-3 Conditional Loop) Creative Commons Attribution-Noncommercial-Share Alike Class 3 Introduce concept of “conditional”. Add a background divided into two different colors to project from class 2. Using Forever, Move, Turn # degrees, If/Else, touching color, and Play drum or Play note blocks, program the sprite to play one sound when touching one of the background colors, and a different sound the rest of the time. (Example on CD: Class 2-3 Conditional Loop) Class 4 Introduce concept of “synchronization”. Broadcast/When I Receive blocks allow sprites to act together, and to act on each other. Import two dancing sprites from the People folder. For each, import several costumes showing different dance moves. Paint a sprite to be a “Move” button. Using the Broadcast, When I Receive, Next Costume, and Wait blocks, write a program so when the Move button is clicked, it broadcasts a command to the other sprites, which simultaneously loop through their dance positions. Optional extension: Add a music loop which plays forever until done when it receives the broadcast. Add a background. Program the background to change color effect by 25 every .5 or 1 secs. Paint a Reset button that causes the music to stop, sets the background color to 0 and returns the sprites to their starting positions. (Example on CD: Class 4 Broadcast Dance) Class 5 Students work independently with the following instructions. They are permitted to discuss problems and help one another. Scratch Game Part 1 This is the start of a chase/eat (such as fish tank) game project! Requirements: Start with 2 sprites. Sprite 1 moves around the screen when green flag is clicked. Use a loop. The player uses the arrow keys to move Sprite 2, to keep away from Sprite 1. Make a second costume for Sprite 2. If Sprite 1 touches Sprite 2, Sprite 2 changes to the new costume. Use a conditional. When the game starts over (green flag clicked), Sprite 2 needs to be in Costume 1. Creative Commons Attribution-Noncommercial-Share Alike Class 6-7 Students work independently with the following instructions. They are permitted to discuss problems and help one another. Scratch Game Part 2 FIRST, DECIDE how someone can win the game (Earn points, touch a goal on the screen, last a certain number of seconds?) and lose the game (Be touched too many times by the chasing sprite and/or run out of lives, power, time?) Requirements: Create a new variable for your game. It could be a score that goes up, or a resource (lives, power, food, etc.) that goes down. The variable will help determine when the game is won or lost. When green flag is clicked, set the variable to the appropriate number for the start of the game. If (something) happens, make the variable change to go up or down as appropriate. Use a conditional. You may also need a wait block to keep your variable from changing too fast. Make it possible to win the game. You may need to use a conditional and/or operators. Example: If (variable) Score is greater than 10, sprite You Win shows. Stop all scripts. Make it possible to lose the game. You may need to use a conditional and/or operators. You may need to add a second variable. Class 8-10 Students work independently with the following instructions. They are permitted to discuss problems and help one another. Scratch Game Part 3 This is the customization of your game project! Requirements: Add buttons so the user can control aspects of the game. (Possibilities include: Change color/background/costume/speed, etc.) Use Broadcast/When I receive. Make your game unique and different from the other projects in the class. Extension: Make your sprite more difficult to catch by inserting the random number block in its motion and turn blocks. Extension: Create a variable that can be controlled by the user (such as speed, difficulty, size). Create the variable, then right click on the variable and choose “slider”. Program sprites to respond accordingly. Example: Create a Speed variable. Set speed to a certain number. For the sprite, Forever set Move number of steps to Speed. If sprite moves too quickly, use Numbers blocks (such as division) to make sprite move more slowly than Speed. Extension: Add a second level (Use Broadcast/When I receive to change the background and other conditions). Make sure When Green Flag Clicked, game is set to Level 1 (correct background, costume, sprites showing, etc.) Creative Commons Attribution-Noncommercial-Share Alike 2007 National Educational Technology Standards (NETS) (“What students should know and be able to do to learn effectively and live productively in an increasingly digital world …”) which may be met by Scratch projects with participation in the online Scratch community at http://scratch.mit.edu/: 1a and b. Creativity and Innovation Students apply existing knowledge to generate new ideas, products, or processes. Students create original works as a means of personal or group expression. 2a, b and c. Communication and Collaboration Students interact, collaborate, and publish with peers, experts or others employing a variety of digital environments and media. Students communicate information and ideas effectively to multiple audiences using a variety of media and formats. Students develop cultural understanding and global awareness by engaging with learners of other cultures. 4b and c. Critical Thinking, Problem-Solving & Decision-Making Students plan and manage activities to develop a solution or complete a project. Students collect and analyze data to identify solutions and/or make informed decisions. 5b, c, and d. Digital Citizenship Students demonstrate personal responsibility for lifelong learning. Students exhibit leadership for digital citizenship. 6a, b, and c. Technology Operations and Concepts Students understand and use technology systems. Students select and use applications effectively and productively. Students troubleshoot systems and applications. Creative Commons Attribution-Noncommercial-Share Alike