|
Science Buddies
  Science Buddies Home Science Fair Project Ideas Science Fair Project Guide Ask an Expert Blog Teacher Resources Parents Students Science Careers My Science Buddies More  
Attention NEW WEB PAGE!
You are looking at a new Web Page. Be one of the first to Review This Web Page!

Part of learning Scratch is figuring out how to make scripts (sets of instruction blocks snapped together) that make the sprites do what you want them to do. In the beginning, this might take some trial and error. It is completely normal for a program to not run perfectly the first time! Keep trying and experimenting—you might be surprised at how skilled you become at working out solutions. Below are some tips for how to get your Scratch program working the way you want. Remember, be patient and don't give up!

Figuring Out Where the Problem Is

The simple truth is, you can't "fix" a problem until you know "what" and "where" the problem is. If you've created a script and it doesn't perform the way you expected, you might have forgotten to put in some blocks or used the wrong blocks. You can try one or more of the methods below to figure out what part of your script isn't working the way you anticipated.

  1. Method 1: If your script doesn't perform the way you expected, you can diagnose where the problem is by stepping through the project.
    1. Under the "Edit" category, click on "Start Single Stepping." Now when you run your program, each block will be highlighted as the computer performs that instruction.
    2. If you want to slow down how fast the blocks (instructions) are being executed, you can also choose "Set Single Stepping" and select "Flash blocks (slow)" from the Edit category. This will slow down the action (it's kind of like watching something in slow motion), so that you can better see what is happening in each part of the code and correct any problems.
    3. Even with slow single-stepping, it might be difficult at times to know "where you are at" and whether or not different scripts are being activated as you intended. To help keep track of this, you can add blocks to your scripts, like a "Say" block that says "hello" or "starting xyz script now," that can give you feedback about when a script is functioning.
  2. Method 2: If you had a script, or set of scripts, that were working, but stopped working after you added some additional blocks, you know that the problem lies somewhere in the new additions you made.
    1. If you've saved an earlier version of your program (which is always a good idea!), you can go back to that and re-evaluate your changes.
    2. If you don't have a saved working version, you can start breaking apart your script.
      • Break each script into smaller pieces and make sure they work as you expect.
      • When you find a piece that doesn't do what you expected, you've figured out where the problem is and can start trying other solutions.
  3. Method 3: If you are using variables in your script (symbols that can take on different values), it can be helpful to know what the values of these variables are as your script executes.
    1. Under the Variables category, there is a "Show Variables" block that will allow you to see the values of different variables as the program runs.
    2. You can also use the "Say" block under the Looks category to "say" the value of the variable.

Finding the Solution to the Problem

Once you've figured out where your problem is, it might be obvious to you what the solution is. If so, great! At other times, you might be left scratching your head. If that's the case, it might be time to step away from the computer for a moment and grab a pencil and pad of paper. Write down what you want each of your scripts to do. Think about the kinds of blocks you'd need to execute the task. Once you have the theory straight in your head, go back and look at your program again. Did you miss something the first time?

If you're still stuck and need help figuring out the solution, or are just looking for some inspiration for your next programming project, there are a lot of places to turn.

  1. Try consulting the various "how-to" guides and references on MIT's Scratch Support page. The Scratch Cards created by MIT are particularly good resources. Each card provides an example of what you can do with Scratch and shows how to arrange the blocks to do it.
  2. There are also books and free websites that give step-by-step tutorials and instructions for learning to program using Scratch. You can search through these resources, listed below in Table 1, to find instructions on how to program different things using Scratch.

Type of Resource Citation
Book for beginners about programming with Scratch. Ford Jr., Jerry Lee. Scratch Programming for Teens. Boston: Course Technology, 2009.
Book for beginners about programming with Scratch. Badger, Michael. Scratch 1.4 Beginners Guide. Packt Publishing, 2009.
Website with free Scratch programming tutorials. LearnScratch.org. 2009. Learn Scratch. Retrieved March 22, 2010, from learnscratch.org/index.php
Table 1. Resources with step-by-step help for learning to program with Scratch.
  1. Looking at other people's programs is a good way to learn how to do something in a programming language. You can look for programs that do the things you want yours to do. Once you find a good example program, look at the program's scripts and see what blocks were used, and in what order. Try to adapt the solution to your project. It might help to look at several programs by different people to see how different people tackle the same problem.
    1. The Scratch download comes with several completed projects you can use to find programming solutions. To look at these, click on the "File" menu at the top of the screen in Scratch and choose "Open" and then "Examples."
    2. You can also view and download completed projects made by other Scratch programmers at MIT's Scratch homepage.
  2. Other programmers can also be a great resource. Try asking friends or family members who have programming experience for tips and advice, or log on to the Scratch Forums and post a question.
    1. Important Note: Your personal data is extremely valuable, particularly on the Internet, and can be used against you if someone else gets a hold of it. Keep it protected. Never give your real name, address, phone number, the name of your school, or a picture of yourself to anyone online. Email addresses, user account names, and screen names should not be your real name, the name of your school, or some combination of the two. For more Internet Safety tips, visit the Science Buddies Internet Safety Guide.

Report a Problem with this Page Report a Problem with this Page

Does something not look right on your screen? Did you receive an error? Please take a moment and let us know what isn't working so we can fix it!

Scratch User Guide

Sponsor

Sponsored by a generous grant from Elmer's
Elmer's supports
the Broadcom MASTERS
A Competition for 6-8th
Grade Students
www.societyforscience.org

Getting Expert Help

Ask an Expert is an online bulletin board you and/or students can use to ask science fair and/or career-oriented questions of our volunteer advisors, all of whom are professional scientists or engineers.

Help Support Science Buddies

Even a $1 Donation Helps: Science Buddies is a 501c3 public charity that relies on donations to operate.




 


It's free! As a member you will be the first to receive our new and innovative project ideas, news
about upcoming science competitions, science fair tips, and information on other science related initiatives.


Science Fair Project Home     Our Sponsors     Partners     About Us     Work for Us     Volunteer     Donate     Contact Us     Academic Outreach Partnerships     Site Map

Science Fair Project Ideas     Science Fair Project Guide     Ask an Expert     Blog     Teacher Resources     Parent Resources     Student Resources     Science Careers     Join Science Buddies    


Privacy Policy Science Buddies

Copyright © 2002-2012 Science Buddies. All rights reserved.
Reproduction of material from this website without written permission is strictly prohibited.
Use of this site constitutes acceptance of our Terms and Conditions of Fair Use.