Skip to Content

Interest-Driven Elementary Coding Curriculum (Free)

This free, interest-driven curriculum includes projects and resources designed specifically for elementary coders and coding educators with little or no coding experience.

Boot Up Logo-color.jpg

BootUp Curriculum Guide

BootUp's curriculum (link) includes projects and resources designed specifically for elementary coders and coding educators with little or no coding experience. We currently have lesson plans and resources for 40 ScratchJr. projects and 30 Scratch projects, all freely available on our website. Click on the project names below for a video preview.
 

Grades K-2 ScratchJr. Project Descriptions

In this sequence of projects for ScratchJr, we gradually introduce a variety of practices and concepts while simultaneously introducing young coders to a variety of blocks and tools in ScratchJr. Each project is aligned with the algorithms and programming standards developed by the Computer Science Teachers Association (CSTA). Click a link to preview each project or watch an overview video for projects 1-10 (1:18), projects 11-20 (1:32), projects 21-30 (1:35), and projects 31-40 (1:45).

  1. Dancing Alone
    • ​​In this introductory lesson, coders create a silly dance for Scratch Cat using motion blocks. The purpose of this lesson is to introduce young coders to creating algorithmic sequences in Scratch Jr.
  2. Can’t Stop Dancing
    • Coders use the repeat block to repeat a silly dance for Scratch Cat using motion blocks. The purpose of this project is to introduce young coders to repeating algorithmic sequences in Scratch Jr.
  3. Dance Party
    • Coders use the start on green flag block to create a silly dance party using motion blocks. The purpose of this project is to introduce young coders to adding sprites in code and triggering algorithms with the green flag in Scratch Jr.
  4. Starry Night
    • Coders learn how to use repeat forever blocks with looks and control blocks to create a simulated environment. The purpose of this project is to introduce new blocks and block combinations that are triggered with the green flag. 
  5. Under the Sea
    • Coders review how to use repeat forever blocks with looks and control blocks to create a different simulated environment. The purpose of this project is to continue applying understanding from the previous project to trigger new blocks and block combinations with the green flag.
  6. Fidget Spinner
    • Coders create their own fidget spinner sprite using the paint editor and motion blocks to animate their fidget spinner when they press the start on tap trigger. The purpose of this project is to introduce coders to creating their own sprites and the start on tap trigger.
  7. Outer Space
    • Coders use a variety of blocks and sprites to create their own interactive diorama on outer space. The purpose of this project is to continue applying understanding from previous projects.
  8. Animal House
    • Coders use a variety of blocks and sprites to create their own interactive diorama about animals on a farm. The purpose of this project is to introduce coders to the sound blocks.
  9. Musical Instruments
    • Coders will trigger sound blocks to play a musical instrument made out of different sprites. The purpose of this project is to review creating sprites and triggering sound blocks when a sprite is tapped. Another purpose of this project is to also introduce remixing.
  10. Randomized Synthesis Project
    • Coders storyboard a project based on randomized idea(s) and create a project based on their storyboard. The purpose of this project is to synthesize understandings into a project with up to three randomized ideas.
  11. Dance Fever
    • Coders will use the start on bump block to create a contagious dance party using motion blocks. The purpose of this project is to introduce young coders to triggering algorithms using the start on bump block.
  12. Animated Card
    • Young coders apply their understandings from previous projects to create an animated card. The purpose of this project is to reinforce understandings from previous projects within a new context. This project can be repeated throughout the year for various events, holidays, birthdays, to give thanks, or as an act of kindness.
  13. Haunted House
    • Coders use a variety of blocks and sprites to create their own interactive diorama about a haunted house. The purpose of this project is to review creating sprites and triggering algorithms when a sprite is tapped.
  14. Look Both Ways
    • Coders use a variety of blocks and sprites to create a short story with a moral. The purpose of this project is to apply previously learned concepts in a new context. This project can be adapted to any short story with a moral.
  15. Race to the Finish
    • Coders use a variety of blocks and sprites to create a racing game and a short story about a race. The purpose of these projects is to apply previously learned concepts in a new context to create their first game and a short story, as well as introduce the say block.
  16. I’m Sooo Hungry
    • Coders use a variety of blocks and sprites to create a short story about a hungry sprite. The purpose of this project is to apply previously learned concepts in a new context and to review how to trigger algorithms when a sprite is bumped.
  17. My Friends and Family
    • Coders use a variety of blocks and sprites to create their own interactive diorama about their friends and family. The purpose of this project is to reinforce the concept of parallelism to trigger two or more algorithms simultaneously.
  18. When I Grow Up
    • ​​Coders use a variety of blocks and sprites to create their own interactive diorama about when they grow up. The purpose of this project is to reinforce the concept of parallelism to trigger two or more algorithms simultaneously.
  19. Knock, Knock
    • ​​Coders use a variety of blocks and sprites to create their own knock, knock joke. The purpose of this project is to reinforce using the wait block to accurately time algorithms running in parallel.
  20. Randomized Synthesis Project
    • ​​Coders storyboard a project based on randomized idea(s) and create a project based on their storyboard. The purpose of this project is to synthesize understandings into a project with up to three randomized ideas.
  21. Alien Planet
    • ​​Coders use a variety of blocks and customized sprites to create their own interactive diorama about an alien planet. The purpose of this project is to review changing or creating sprites using the paint editor.
  22. There's a Monster Under my Bed
    • ​​Coders use a variety of blocks and sprites to create a short story about a monster under the bed (or in the closet). The purpose of this project is to apply previously learned concepts in a new context and to learn how to modify a backdrop to make it look like nighttime.
  23. In the Future
    • ​​Coders use a variety of blocks and sprites to create a interactive diorama about their predictions for the future. The purpose of this project is to apply previously learned concepts in a new context (e.g., modifying sprites, parallelism, events, etc.).
  24. Animate My Name
    • ​​Coders use a variety of blocks to animate each letter of their name (or vocabulary words). The purpose of this project is to review creating sprites using the paint editor.
  25. Jungle
    • ​​Coders use a variety of blocks and customized sprites to create their own interactive diorama about a jungle. The purpose of this project is to reinforce the concept of parallelism to trigger two or more algorithms simultaneously.
  26. My Aquarium
    • ​​Coders use a variety of blocks and sprites to create a interactive diorama about an aquarium. The purpose of this project is to apply previously learned concepts in a new context (e.g., creating or modifying sprites, parallelism, events, etc.).
  27. Dribble a Ball
    • ​​Coders use a variety of blocks in parallel to create simulations (e.g., dribbling a ball). The purpose of this short project is to apply previously learned understandings in order to simulate motion.
  28. Rainy Day
    • ​​Coders learn how to use the “go to page” blocks to create a multi-page story about a rainy day. The purpose of this project is to introduce coders to the “go to page” blocks and to apply previous understandings across multiple pages.
  29. A Day as a Pirate
    • ​​Coders use a variety of blocks and sprites to create a multi-page story about a day as a pirate. The purpose of this project is to reinforce the “go to page” blocks and to apply previous understandings across multiple pages.
  30. Randomized Synthesis Project
    • ​​Coders storyboard a project based on randomized idea(s) and create a project based on their storyboard. The purpose of this project is to synthesize understandings into a project with up to three randomized ideas.
  31. Desert
    • ​​Coders use a variety of blocks and sprites to animate a mini research project about the desert. The purpose of this project is to introduce using the message blocks with multiple sprites and pages.
  32. Oh No, We’re Super Tiny!
    • ​​Coders use a variety of blocks and sprites to create a multi-page story about being very tiny. The purpose of this project is to reinforce the “go to page” blocks and to apply previous understandings across multiple pages.
  33. If Animals Could Talk
    • ​​Coders review and apply a variety of blocks and sprites to animate a multi-page project about talking animals. The purpose of this project is to review using the message blocks with multiple sprites and pages.
  34. To the Moon
    • ​​Coders revisit a previously created project about outer space to add a short story about travelling to outer space. The purpose of this project is to apply newly acquired understandings to a prior project.
  35. Animate a Joke
    • ​​Coders use a variety of blocks and sprites to animate multiple jokes. The purpose of this project is to reinforce understandings of storyboarding multiple pages and applying prior understandings into a project of interest.
  36. The Story of the Stinky Robot
    • ​​Coders use a variety of blocks and sprites to create a multi-page story about a stinky robot. The purpose of this project is to apply previous understandings across multiple pages.
  37. A Day at the Beach
    • ​​Coders use a variety of blocks and sprites to create a multi-page story about a day at the beach. The purpose of this project is introduce multiple ways to have a sprite appear to switch costumes.
  38. On My Way to the Party
    • ​​Coders revisit a previously created project about a dance party to add a short story about travelling to the dance party. The purpose of this project is to apply newly acquired understandings to a prior project.
  39. Pass it On
    • ​​Coders engage in a multi-day project where they create the introduction to a short story and then pass their project on to be finished by their peers. The purpose of this project is encourage young coders to communicate and learn from their peers.
  40. Randomized Synthesis Project
    • ​​Coders storyboard a project based on randomized idea(s) and create a project based on their storyboard. The purpose of this project is to synthesize understandings into a project with up to three randomized ideas.

Grades 3+ Scratch Project Descriptions

In this sequence of projects for Scratch, we gradually introduce a variety of practices and concepts while simultaneously introducing coders to a variety of blocks and tools in Scratch. Each project is aligned with the algorithms and programming standards developed by the Computer Science Teachers Association (CSTA). Click a link to preview each project or watch an overview video for projects 1-10 (1:40), projects 11-20 (1:48), projects 21-30 (1:44), and projects 31-40 (2:25).

  1. Animate Your Name
    • ​​In this introductory project, coders create their name using letter sprites and use code to animate each letter when clicked. The purpose of this project is to introduce coders to creating simple algorithms using a small number of blocks in Scratch.
  2. Interactive Collage
    • ​​Coders create an interactive collage that explains what they like when a sprite is clicked. The purpose of this project is to reinforce understanding of the previously introduced blocks while introducing the Say block and further getting to know the coders you work with.
  3. Jump Scare Slideshow
    • ​​Coders learn how to create a jump scare slideshow as a fun prank. The purpose of this project is to introduce using control blocks to cycle through backdrops and eventually create a jump scare.
  4. Knock, Knock
    • ​​Coders will unscramble a knock knock joke, then create their own jokes using two sprites. The purpose of this project is to introduce using wait blocks to simulate two sprites talking with each other.
  5. What Can You Create - Introduction
    • ​​This challenge asks coders to use a limited selection of block types within an unlimited number of sprites to create something interesting. The purpose of this challenge is to encourage coders to think creatively about block combinations to better understand algorithmic sequences.
  6. Animated Card
    • ​​Coders apply their understandings from previous projects to create an animated card. The purpose of this project is to reinforce understandings from previous projects within a new context. This project can be repeated throughout the year for various events, holidays, birthdays, to give thanks, or as an act of kindness.
  7. A Friend of Mine
    • ​​Coders learn how to remix a project that introduces a friend, historical figure, or imaginary person. The purpose of this project is to introduce coders to remixing projects and to build on the understandings from previous projects.
  8. Virtual Museum
    • ​​Coders collaboratively research and create a virtual museum that responds when a user clicks on a sprite. The purpose of this project is to review understandings from the previous projects and prepare coders for the following project in the suggested sequence (No Touching!).
  9. No Touching!
    • ​​Coders create an interactive painting that respond when different parts are clicked. The purpose of this project is to introduce duplicating and editing a sprite, as well as applying previously used blocks in a new context.
  10. Story About Me
    • ​​Coders select from a variety of starter prompts, storyboard their story, then code a story about themselves. The purpose of this synthesis project is to storyboard a project and then apply their understandings into a project of interest.
  11. Photo Editor
    • ​​Coders create an photo editor app that alters the appearance of a photo when various buttons are clicked. The purpose of this project is to introduce how to broadcast and receive messages.  
  12. Photo Booth
    • ​​Coders apply their understandings of broadcasting and receiving messages to create an interactive photo booth. The purpose of this project is to reinforce understandings of messages through a remix project focusing on adding user controls.
  13. Beatbox Machine
    • ​​Coders create a project that allows them to make music with their faces when certain keys on a keyboard are pressed. The purpose of this project is to introduce triggering algorithms with specific keyboard events.
  14. What Can You Create - Music
    • ​​This challenge asks coders to use a limited selection of block types within an unlimited number of sprites to create something musical. The purpose of this challenge is to encourage coders to think creatively about block combinations to better understand algorithmic sequences.
  15. Let’s Dance
    • ​​Coders create a project that causes sprites to dance to repeated background music. The purpose of this project is to introduce timing algorithms to repeated music.
  16. Character Builder
    • ​​Coders learn how to design custom costumes to create a customized character builder for a selected theme. The purpose of this project is to reinforce understandings of messages while introducing new features in Scratch.
  17. An Amazing Maze Game
    • ​​Coders create a player controlled maze game with multiple, custom levels. The purpose of this project is to introduce conditional statements (if blocks) to create player controls, while reinforcing how to use the image editor to design mazes.
  18. Scenic Walk
    • ​​Coders create a scenic walk where a sprite walks between backdrops to describe or introduce each scene. The purpose of this project is to introduce the when backdrop switches to block to show and hide sprites on specific backdrops.
  19. Award Acceptance Speech
    • ​​Coders combine their understandings from previous projects to storyboard and create an award acceptance speech. The purpose of this project is to storyboard a project, apply their understandings into a project of interest, and learn a couple of new tools and blocks.
  20. Coder Interview
    • ​​Coders select from a variety of starter questions, storyboard their interview, then code an interview about what they learned in Scratch. The purpose of this synthesis project is to storyboard a project and then apply their understandings into a project of interest.
  21. Nyan Simulator
    • ​​Coders create a Nyan Cat simulator that causes a cat to fly around the screen while drawing rainbows. The purpose of this project is to introduce a variety of pen blocks by combining them with previous understandings.
  22. Pumpkin Carver
    • ​​Coders create a pumpkin carver simulator that allows users to “carve” a pumpkin with their mouse. The purpose of this project is to introduce creating a drawing application using pen blocks by combining them with previous understandings.
  23. What Can You Create - Drawing
    • ​​This challenge asks coders to use a limited selection of block types within an unlimited number of sprites to create art. The purpose of this challenge is to encourage coders to think creatively about block combinations to better understand algorithmic sequences.
  24. Carve a Pumpkin with Code
    • ​​Coders continue to develop their understanding of pen blocks by creating algorithms to carve pumpkins. This purpose of this project is to reinforce understandings of how to draw shapes with code.
  25. Music Player
    • ​​Coders combine their previous understandings of creating interactive buttons to create a music player with multiple buttons. The purpose of this project is to reinforce understandings of modularity by combining previous understandings within a new context.
  26. Blinking Maze Game
    • ​​Coders create a player controlled blinking maze game with multiple, custom levels. The purpose of this project is to reinforce understandings of the previous maze game, while introducing new mechanics.
  27. Sprite Catcher
    • ​​Coders combine their understandings from previous projects to create a sprite catcher game. The purpose of this project is to reinforce understandings of modularity in a new context.
  28. Animate a Joke
    • ​​Coders combine understandings from several prior projects to animate a joke. The purpose of this project is to reinforce prior understandings with a focus on modularity.
  29. Interactive Store Display
    • ​​Coders combine their understandings from previous projects to storyboard and create an interactive story display. The purpose of this project is to storyboard a project, apply their understandings into a project of interest, and experiment with new tools and blocks.
  30. Superhero(ine) Project
    • ​​Coders select from a variety of starter questions, storyboard their superhero(ine) project, then code a story or game. The purpose of this synthesis project is to storyboard a project and then apply their understandings into a project of interest.
  31. Street Art
    • Coders create a spray paint simulator that allows users to create their own artwork. The purpose of this project is to introduce the stamp block and reinforce previous understandings.
  32. Architect Simulator
    • Coders combine their previous understandings of using pen blocks to create an app that allows users to create architecture with blocks. The purpose of this project is to reinforce understandings of modularity and user interaction by combining previous understandings within a new context.
  33. Jump Scare Maze Game
    • Coders create a player controlled maze game with a funny jump scare that appears on one of the levels. The purpose of this project is to combine understandings from prior projects to create a game with a funny jump scare.
  34. Food Catcher
    • Coders create a food catcher game that keeps track of the player’s score. The purpose of this project is to introduce variables to keep track of a player’s score.
  35. Don’t Catch Mine!
    • Coders create a competitive game that keeps track of each player’s score. The purpose of this project is to collaboratively reinforce variables to keep track of each player’s score. Note: this project builds off the understandings introduced in “Food Catcher.”
  36. What Can You Create? – Story
    • This challenge asks coders to use a limited selection of block types within an unlimited number of sprites to create a story with multiple scenes. The purpose of this challenge is to encourage coders to think creatively about block combinations to better understand algorithmic sequences.
  37. It’s Alive!
    • Coders learn how to add costumes to a sprite to simulate lifelike movements or animations in a scene or short story. The purpose of this project is to reinforce understanding of the image editor while learning how to better simulate motion/animations when a sprite has a limited number of costumes.
  38. Random Sprite Challenge
    • Coders create a randomly generate sprite and then review how to add costumes to a sprite to simulate lifelike movements or animations in a scene or short story. The purpose of this project is to learn how to better simulate motion/animations of a newly created sprite.
  39. Pass It On (Story Starters)
    • Coders engage in a multi-day project where they create or remix an introduction to a short story. The short version of this project is completed by one coder, while the longer version involves coders passing their incomplete project to a peer, who adds to their story. The purpose of this project is to encourage coders to communicate and learn from their peers.
  40. Looking Back
    • Coders combine their understandings from previous projects to create a scrapbook synthesis project that reflects on what they did/learned over the year. The purpose of this synthesis project is to reflect on and synthesize prior learning, while also learning how to simulate Polaroid pictures developing.

Visit our website to access the free curriculum.