Scratch Introduction Guide¶
A Teacher's Guide to Getting Started with Scratch¶
What is Scratch?¶
Scratch is a free, visual programming language developed by MIT. It allows users to create interactive stories, games, animations, and more by dragging and dropping code blocks instead of typing text.
Key Features: - Visual, block-based programming (no typing required) - Free and available online or offline - Designed for ages 8-16, but used by all ages - Large community with millions of shared projects - Available in many languages, including isiZulu, Afrikaans, and English
Why Use Scratch in Education?¶
Benefits for Students¶
- Engagement: Students are motivated by creating their own projects
- Computational Thinking: Develops problem-solving and logical thinking
- Creativity: Encourages creative expression through coding
- Collaboration: Sharing and remixing projects builds community
- Low Barrier to Entry: No prior coding experience needed
- Immediate Feedback: See results instantly
Benefits for Teachers¶
- Easy to Learn: Intuitive interface, quick to master
- Free Resources: Extensive tutorials and community support
- Curriculum Integration: Can be used across subjects
- Assessment Tools: Built-in sharing and portfolio features
- Student Engagement: Increases motivation and participation
Getting Started¶
Creating an Account¶
- Go to: https://scratch.mit.edu
- Click: "Join Scratch" (top right)
- Fill in:
- Username (must be unique)
- Password (at least 8 characters)
- Email address
- Date of birth
- Country
- Verify email (check your inbox)
- Start creating!
Offline Editor (Alternative)¶
If internet is unreliable: 1. Download Scratch Desktop from: https://scratch.mit.edu/download 2. Install on computers 3. Projects can be saved locally 4. Can be shared online later
Scratch Interface Overview¶
Main Components¶
┌─────────────────────────────────────────────────┐
│ [Menu Bar] Scratch - Project Name │
├──────────┬──────────────────────┬───────────────┤
│ │ │ │
│ Stage │ Scripts Area │ Blocks │
│ Area │ (Code Building) │ Palette │
│ │ │ │
│ │ │ │
│ ├──────────────────────┤ │
│ │ Sprite List │ │
│ │ (Characters) │ │
│ └──────────────────────┘ │
└─────────────────────────────────────────────────┘
1. Stage Area¶
- Location: Top left
- Purpose: Where your project runs
- Features:
- Green flag: Start project
- Red stop sign: Stop project
- Full screen mode
- Stage size: 480x360 pixels
2. Sprite List¶
- Location: Bottom left
- Purpose: Shows all sprites (characters/objects) in your project
- Actions:
- Click sprite to select it
- Right-click for options (duplicate, delete, etc.)
- Click "+" to add new sprite
3. Blocks Palette¶
- Location: Left side, middle
- Purpose: Contains all coding blocks
- Categories:
- Motion (blue): Move, turn, position
- Looks (purple): Appearance, say, think
- Sound (pink): Play sounds, notes
- Events (yellow): Start scripts
- Control (orange): Loops, conditions
- Sensing (light blue): Detect input
- Operators (green): Math, logic
- Variables (orange): Store data
- My Blocks (dark blue): Custom blocks
4. Scripts Area¶
- Location: Center
- Purpose: Where you build your code
- How it works:
- Drag blocks from palette
- Snap blocks together
- Click blocks to test
- Right-click to delete/duplicate
5. Tabs¶
- Scripts: Write code (default)
- Costumes: Edit sprite appearance
- Sounds: Add/edit sounds
Essential Blocks for Beginners¶
Motion Blocks (Blue)¶
move 10 steps → Move sprite forward
turn 15 degrees → Rotate sprite
go to x: 0 y: 0 → Move to specific position
point in direction 90 → Face a direction
Looks Blocks (Purple)¶
say Hello! for 2 secs → Display text bubble
think Hmm... for 2 secs → Display thought bubble
change size by 10 → Make bigger/smaller
switch costume to [ ] → Change appearance
Events Blocks (Yellow)¶
when green flag clicked → Start when flag clicked
when [space] key pressed → Start when key pressed
when this sprite clicked → Start when clicked
Control Blocks (Orange)¶
wait 1 secs → Pause execution
repeat 10 → Loop a set number of times
forever → Loop forever
if <> then → Conditional statement
Sound Blocks (Pink)¶
Your First Project: Moving Cat¶
Step 1: Start a New Project¶
- Click "File" → "New"
- You'll see the default cat sprite
Step 2: Make the Cat Move¶
- Click on the Motion category (blue)
- Drag
move 10 stepsblock to scripts area - Click the block - cat moves!
- Try changing the number (e.g., move 50 steps)
Step 3: Add an Event¶
- Click Events category (yellow)
- Drag
when green flag clickedto top ofmove 10 steps - Blocks snap together
- Click green flag - cat moves!
Step 4: Make it Continuous¶
- Click Control category (orange)
- Drag
foreverblock aroundmove 10 steps - Click green flag - cat moves continuously!
Step 5: Add Bouncing¶
- From Motion, drag
if on edge, bounceinsideforever - Cat now bounces off edges!
Step 6: Add Sound¶
- Click Sound category (pink)
- Drag
play sound [meow]insideforever - Cat makes sound while moving!
Your code should look like:
Common Patterns and Concepts¶
Pattern 1: Starting Scripts¶
Always start with an event block:
- when green flag clicked - Most common
- when [key] key pressed - For keyboard control
- when this sprite clicked - For clickable sprites
Pattern 2: Loops¶
Three types of loops:
1. repeat 10 - Do something 10 times
2. forever - Do something continuously
3. repeat until <> - Do until condition is met
Pattern 3: Conditions¶
Making decisions:
Or with alternatives:
Pattern 4: Variables¶
Storing information:
1. Create variable: Click "Variables" → "Make a Variable"
2. Name it (e.g., "Score")
3. Use it: set [Score] to 0 or change [Score] by 1
Teaching Tips¶
For Beginners¶
- Start Simple: Begin with basic movement
- One Concept at a Time: Don't overwhelm
- Hands-On: Let them explore and experiment
- Celebrate Small Wins: Every working script is success
- Use Analogies: Compare to real-world actions
For Mixed Levels¶
- Differentiated Tasks:
- Beginners: Follow step-by-step
- Intermediate: Modify examples
- Advanced: Create from scratch
- Peer Support: Pair advanced with beginners
- Extension Challenges: Provide extra tasks for fast finishers
Classroom Management¶
- Pair Programming: Two students, one computer
- Showcase Time: Regular sharing of projects
- Troubleshooting: Teach students to help each other
- Save Often: Remind students to save work
- Account Management: Use class accounts or student accounts
Common Mistakes and Solutions¶
Mistake 1: Blocks Don't Snap¶
Problem: Blocks won't connect Solution: Make sure you're dragging to the right place (top or bottom of block)
Mistake 2: Nothing Happens¶
Problem: Clicked green flag, nothing happens Solution: - Check if script is attached to sprite - Make sure event block is at top - Check if blocks are connected
Mistake 3: Sprite Disappears¶
Problem: Sprite goes off screen
Solution: Use go to x: 0 y: 0 to bring it back
Mistake 4: Too Fast/Slow¶
Problem: Animation too fast or slow
Solution:
- Add wait blocks
- Change number of steps
- Adjust speed in motion blocks
Mistake 5: Can't Find Block¶
Problem: Looking for specific block Solution: - Check correct category - Use search function (top of blocks palette) - Some blocks only appear with certain sprites
Assessment Ideas¶
Formative Assessment¶
- Observation: Watch students work
- Quick Checks: "Show me your code"
- Peer Review: Students share and give feedback
- Exit Tickets: "What did you learn today?"
Summative Assessment¶
- Project Rubric: Evaluate completed projects
- Portfolio: Collection of student work
- Reflection: Students write about their learning
- Presentation: Students present their projects
What to Look For¶
- Understanding: Can they explain their code?
- Problem-Solving: How do they debug errors?
- Creativity: Do they add original elements?
- Collaboration: Do they help others?
Resources for Teachers¶
Official Resources¶
- Scratch Website: https://scratch.mit.edu
- ScratchEd: https://scratched.gse.harvard.edu (teacher community)
- Getting Started Guide: https://scratch.mit.edu/ideas
- Video Tutorials: https://scratch.mit.edu/help/videos
Curriculum Integration¶
- Scratch for Educators: https://scratch.mit.edu/educators
- Lesson Plans: Search ScratchEd for subject-specific plans
- Coding Cards: Printable cards with project ideas
Community¶
- ScratchEd Community: Connect with other teachers
- Scratch Forums: Get help and share ideas
- Twitter: #ScratchEd, #Scratch
Next Steps¶
- Practice: Create your own projects
- Explore: Look at community projects
- Plan: Design a lesson using Scratch
- Share: Connect with other teachers
- Implement: Try Scratch with your students!
Quick Reference Card¶
Essential Blocks¶
when green flag clicked- Startmove 10 steps- Moveturn 15 degrees- Rotatesay Hello!- Display textrepeat 10- Loopif <> then- Conditionset [variable] to 0- Variable
Keyboard Shortcuts¶
- Space: Start/stop project
- Right-click: Options menu
- Delete key: Delete selected blocks
- Ctrl+Z: Undo
- Ctrl+S: Save (if offline)
Tips¶
- Start with events
- Use forever for continuous actions
- Test frequently
- Save often
- Ask for help!
Support¶
Need Help? - Scratch Help: https://scratch.mit.edu/help - ScratchEd Forums: https://scratched.gse.harvard.edu/discussions - Contact workshop facilitators
Remember: Everyone starts as a beginner. Be patient with yourself and your students. Coding is about experimentation and learning from mistakes!