First Programming with Scratch ← School Computer Curriculum

STEAM – Computational Thinking & Artistic Expression for Grades 6+


What you’ll learn

  • Gain basic knowledge about computer programming.
  • Grasp fundamental concepts of programming languages: objects, events, logic, conditionals, variables, states, and more.
  • Gain experience with tile/block-based family of programming environments.
  • Learn to create programs with Scratch.
  • Gain familiarity, basic knowledge, and experience to start learning new programming languages.
  • Develop your skills in reasoning, computational thinking, and problem solving.
  • Build on your skills in modeling, design, planning, implementation, debug, and testing.
  • Engage and apply your own creativity, self-expression, and artistic skills using technology with all open-ended customizable projects.

Course Content

  • Introduction –> 1 lecture • 5min.
  • Projects –> 19 lectures • 4hr 26min.
  • Conclusion –> 1 lecture • 3min.

Auto Draft


  • Computer with internet browser and internet access.
  • No prior learning in programming or computer science needed.


This class is designed specifically for middle or high school students who want to take their first class about computer programming. It’s a great starter programming course to include as part of a computer science curriculum for your students.

This course isn’t about learning Scratch programming specifically. Rather, it is designed to help students get their first experience with computer programming, and along the way, get a basic understanding and familiarity with essential concepts in programming languages, such as algorithms, loops, variables, logic, conditionals, objects, properties, events, design, implementation, debugging, testing, etc.

The projects in this STEAM course are designed to be well-balanced between thinking & logic and artistic expression and creativity, so that both left- and right-brained students can thrive and be motivated!

This is an all project-based lab course. Each week’s class includes a little bit of lecture and slides, but the majority of the time is spent by the students in the lab (or on students’ laptops) on their own to finish each week’s project. The solution to each project is included and the teacher may choose to review it with the students during the next class. The course ends with a capstone project, wherein students will design, implement, test, and debug a State Machine device of their choice (e.g. a soda machine) using Scratch.

I teach this class to a real 8th grade classroom in a middle-high school, during one school semester.

Perquisites and Requirements

  • No Prior Knowledge or Experience in Programming Needed
  • Exercises Only Require a Computer with Internet Access


  • Intro
    • Course Overview
  • Unit 1
    • Scratch: Sign Up, Log In
    • Basics Demo
  • Unit 2
    • Intro to Algorithms
    • Project 1: Write Algorithm for Farmer River Crossing Problem
  • Unit 3
    • Project 2: Implement Algorithm to Farmer River Crossing Problem Using Scratch
  • Unit 4
    • Loops
    • Events
    • Broadcasts
    • Project 3: Remote Controlled Car
  • Unit 5
    • Costumes
    • Timers
    • Project 4: Traffic Light
  • Unit 6
    • Variables
    • Arithmetic Operators
    • Project 5: Traffic Light with Timer
  • Unit 7
    • Create a Moving Art
  • Unit 8
    • Project 7: Browse Existing Scratch Community Projects
  • Unit 9
    • Asking the User
    • Conditionals
    • Project 8: ATM Machine
  • Unit 10
    • Project 9: Make Some Sound/Music
  • Unit 11
    • Logical Operators
    • Testing & Debugging
    • Project 10: Rock Paper Scissors Game: Debug & Customize
  • (Bonus) Unit 12
    • State Machines
    • (Bonus) Design Project 11: Make Your Own State Machine
  • Outro
    • Conclusion
Get Tutorial