3rd Grade

3rd Grade Curriculum Overview

Review your grade-level pathway

Third graders learning computer science with 9 Dots are ready for tackling more complex challenges than their early elementary peers. In order to prepare them for learning harder coding concepts like conditionals (at the end of 3rd grade) and functions (in 4th grade), students start off with an in-depth module on problem-solving in The Rewriters before returning to PixelBots to review coding fundamentals and to learn a new code structure, conditionals.

In The Rewriters Problem-Solving module, students begin by learning how to approach and solve problems systematically with a 4-step process. Then, students learn how to read, write, and debug code with loops through the PixelBots Fundamentals module. In the Conditionals module, students learn about conditionals, a coding structure that allows students to write code for randomized situations. They write programs in PixelBots with conditionals nested in loops. The course ends with an optional end-of-year celebration where students design and code their own pixel art project in one lesson.

Below are in-depth descriptions of each 10-lesson module, with links to the full Curriculum Overview or Scope and Sequence for each.

Module D1: Problem-Solving with The Rewriters The Rewriters is a computer science curriculum that teaches students problem-solving through narrative-based instruction and game-based learning. Lessons are delivered through storytelling in a slide deck, and the teacher plays the role of storyteller. At key points in the story, students take on the role of a Rewriter character by playing a puzzle-based game where they read and manipulate rules to navigate obstacles and reach a given goal. Students learn a systematic approach to problem-solving that can be applied in computer science and across other domains. The systematic approach is defined by a framework that breaks down problem-solving into four key phases, accompanied by guiding questions that students can ask themselves at each phase. In addition to the framework, students also learn valuable problem-solving strategies, such as tinkering, iterating, and sequencing. (Curriculum Overview)
Module D2: PixelBots Fundamentals In this module, students return to PixelBots and follow the Master WizBird guide to learn about code, debugging, and loops. Throughout the module, students will collect ingredients that help them to create the final magical Gems that will give Master WizBird the knowledge he needs to support good works in galaxies beyond. In these lessons students will use sequencing, debugging, and the decomposition strategy, “break it down,” to solve increasingly difficult problems. Each student will receive their own WizBird that will act as their “rubber duck” as they work through problems. This self-questioning strategy will support students as they are introduced to adding loops in their sequences. By the end of the module, students will be able to code a program that includes complex loops, debug a program with multiple bugs, and monitor their own learning through self-questioning. (Scope and Sequence)
Module D3: PixelBots Conditionals In this module, students will train with PixelTown engineer, Evelyn, and help PixelTown’s various emergencies by reading and writing conditionals in their code. A conditional is code that runs depending on whether a boolean condition is true or false. Conditionals can be useful when parts of code need to execute only in particular cases. Students will learn to identify the boolean and verbally communicate their ideas and plans through a think-aloud. Then, students will learn to nest their conditionals in loops by decomposing the goal they need to paint into shapes and patterns.(Scope and Sequence)
Level D End-of-Year Celebration In this one-lesson end-of-year celebration, students design and code their own pixel art project: a new object for The Rewriters game. (Lesson Plan)

Learn your core Computer Science (CS) Concepts

Problem-Solving (D1)

The problem-solving framework consists of four steps:

1. Understand the problem

2. Plan a solution

3. Try the solution

4. Reflect on the solution.

Since making mistakes and iterating on one’s solution are common parts of the problem-solving process, steps in the framework can be repeated if the initial solution doesn’t work.

 

In The Rewriters story, characters use the problem-solving framework to solve puzzles together.

 

Since we teach problem-solving through storytelling and game-based learning, start by watching these videos to understand the premise of our puzzle game, The Rewriters.  You will learn how the game works alongside our main character, Sol, and will preview the types of puzzles in which students are applying the problem-solving framework.  Taken from the first lesson in Module D1, the videos are separated at a natural stopping point where students would be asked to make a hypothesis about what they’re seeing.

Now that you understand how the world works, try out some puzzles from the first two lessons in The Rewriters and apply the problem-solving framework yourself!  Feel free to move on after you’ve gotten a feel for how the game works alongside the framework.


Sequencing (D2)

A sequence is a set of steps carried out in order, and sequencing in computer science is the process of writing or following instructions in order.

 
 
 

This video will walk you through the solution to the writing challenge above:


Loops (D2, D3)

A loop is a block of code that repeats a sequence.  Loops are especially useful because they allow us to repeat sequences of code without rewriting the blocks multiple times.

The loop to the right moves PixelBot forward and then paints the cell blue. This happens three times, as indicated by the argument “3” to the right of the loop symbol.

Try it out!

This video will walk you through the solution to the writing challenge above:


Conditionals (D3)

A conditional is a piece of code that executes depending on whether a condition is true or false. Conditionals are useful because they allow us to account for different scenarios in our code.


In PixelBots, we use conditionals with the purple switch block, which will swap the color of a pixel between yellow and blue. The block only works if PixelBot is standing on either a yellow or a blue pixel.  If the pixel is currently yellow, it switches to blue, and vice versa.

For example, the code on the right is a conditional that would be read as “If the PixelBot is standing on a yellow pixel, then switch the pixel.” Like other code sequences, the lines happen from top to bottom. The PixelBot will first check if it is standing on a yellow pixel.  If that is true, then it will swap the pixel to blue; otherwise, the entire block of code is skipped.

The switch block is a purple block with a lightbulb in it.

A conditional block is a block with two pink blocks. The code within the conditional only runs if the condition is true.

Try it out!

This video will walk you through the solution to the writing challenge above:

Francisco Montenegro