Section outline


  • Introduction

  • Week 1

    • Please read this introduction first before attempting the lesson.

    • Watch an introductory video summarizing programming basics.

    • Motion and Random Block Challenge

  • Week 2

    • Now that you have watched the video, let's see if you can try this yourself. Use the activity card below (PDF) to read the instructions and give it a try.

      Have fun 😊

    • Drag each Motion Block from the Motion Palette area to the Script Panel and click on it to see what it does to your Sprite.


  • Week 3

    • A self-paced online module that teaches problem-solving using decomposition, pattern recognition, abstraction, algorithm design, and automation.

    • Now that you've watched the video, it's time to put your skills to the test! Check the activity card below for instructions and give it a try.

      Enjoy the process! 😊


    • 2nd Build Your Own Block (BYOB) Challenge

  • Week 4

    • Problem-solving in programming involves breaking down a given problem into logical steps and designing an efficient algorithm to solve it. This process typically includes:

      Understanding the problem – Clarifying inputs, outputs, and constraints.

      Breaking it down – Identifying subproblems or reusable components.

      Choosing the right approach 

      Writing pseudocode – Outlining the solution before implementation.

      Implementing the solution – Writing code using the chosen approach.

      Testing and optimizing – Running test cases and improving efficiency.

    • Please watch the video

    • 3rd BYOB Challenge

  • Week 5

    • A variable is a container that stores data values. In Snap!, variables can store different types of data, such as numbers, text, lists, or Boolean values.

      How to Create a Variable in Snap!

      • Click on the "Variables" category in the block palette.
      • Click "Make a Variable" and give it a name.
      • The variable will appear as an orange-colored block, which can be used in the script.

    • 4th BYOB Challenge

  • Week 6

    • Watch the video for more details

    • Operators in Snap! are blocks used to perform mathematical calculations, logical comparisons, and string manipulations. They are located in the "Operators" category (green blocks) and help manipulate data in scripts.
    • Most operator blocks need to be placed inside other blocks in order to function. Use the knowledge you have developed from previous challenges to determine the most appropriate spot to place them. The Control and Variables’ tabs are a good place to start.

    • Answer ALL Questions

  • Week 7

    • Control structures in Snap! determine how the script flows, allowing you to repeat actions, make decisions, and control the sequence of execution. These structures help in looping, branching, and event handling.
    • Refer to the accompanying video for a clearer understanding

    • Now that you've watched the video, let's check if you can answer the following questions.

  • Week 8

    • A list in Snap! is a data structure that allows storing multiple values in a single variable. Unlike normal variables that hold a single value, lists can hold multiple items, making them useful for organizing and managing large amounts of data.
  • Week 9

    • In Snap! programming, a procedure or custom block refers to a reusable block of code that you define to perform a specific task. These custom blocks can simplify your code, make it more modular, and reduce repetition.

    • View the accompanying video to help you get started.

  • Week 10

    • In Snap! programming, sounds are an integral part of creating interactive projects and animations. Snap! provides several built-in features to work with sounds.

    • Answer ALL Questions

  • Week 11

    • Sensing in Snap! programming refers to the ability of a sprite to detect and respond to its environment. The Sensing category provides a variety of blocks that enable interaction between sprites, user inputs, and the stage, making programs more dynamic and interactive.

    • Now that you've learned about Sensing, let's answer some exercise questions.

  • Week 12

    • Let's explore OOP in Snap! Programming. The lesson should take about 30 minutes to complete.