Coding

Computer Science 3rd Grade Curriculum (2019)    code.org

Students develop their understanding of loops, conditionals, and events. Beyond coding, students learn about digital citizenship.

Lesson 1: Graph Paper Programming

By "programming" one another to draw pictures, students get an opportunity to experience some of the core concepts of programming in a fun and accessible way. The class will start by having students use symbols to instruct each other to color squares on graph paper in an effort to reproduce an existing picture. If there’s time, the lesson can conclude with images that the students create themselves.

Lesson 2: Introduction to Online Puzzles

In this set of puzzles, students will begin with an introduction (or review depending on the experience of your class) of Code.org's online workspace. There will be videos pointing out the basic functionality of the workspace including the Run, Reset, and Step buttons. Also discussed in these videos: dragging Blockly blocks, deleting Blockly blocks, and connecting Blockly blocks. Next, students will practice their sequencing and debugging skills in maze. From there, students will see new types of puzzles like Collector, Artist, and Harvester when they learn the very basics of loops.

Lesson 3: Relay Programming

This activity will begin with a short lesson on debugging and persistence, then will quickly move to a race against the clock as students break into teams and work together to write a program one instruction at a time.

Lesson 4: Debugging with Laurel

In this online activity, students will practice debugging in the "collector" environment. Students will get to practice reading and editing code to fix puzzles with simple algorithms, loops and nested loops.

Lesson 5: Events in Bounce

In this online activity, students will learn what events are, and how computers use them in programs like video games. Students will work through puzzles making the program react to events (like arrow buttons being pressed.) At the end of the puzzle, students will have the opportunity to customize their game with different speeds and sounds.

Lesson 6: Build a Star Wars Game

In this lesson, students will practice using events to build a game that they can share online. Featuring R2-D2 and other Star Wars characters, students will be guided through events, then given space to create their own game.

Lesson 7: Loops in Ice Age

As a quick update (or introduction) to using loops, this stage will have students using the repeat block to get Scrat to the acorn more efficiently.

Lesson 8: Drawing Shapes with Loops

This lesson builds on the understanding of loops from previous lessons and gives students a chance to be truly creative. This activity doubles as a debugging exercise for extra problem-solving practice.

Lesson 9: Nested Loops in Maze

In this online activity, students will have the opportunity to push their understanding of loops to a whole new level. Playing with the Bee and Plants vs Zombies, students will learn how to program a loop to be inside of another loop. They will also be encouraged to figure out how little changes in either loop will affect their program when they click Run.

Lesson 10: Conditionals with Cards

This lesson demonstrates how conditionals can be used to tailor a program to specific information. We don’t always have all of the information we need when writing a program. Sometimes you will want to do something different in one situation than in another, even if you don't know what situation will be true when your code runs. That is where conditionals come in. Conditionals allow a computer to make a decision, based on the information that is true any time your code is run.

Lesson 11: If/Else with Bee

Up until this point students have been writing code that executes exactly the same way each time it is run - reliable, but not very flexible. In this lesson, your class will begin to code with conditionals, allowing them to write code that functions differently depending on the specific conditions the program encounters.

Lesson 12: While Loops in Farmer

By the time students reach this lesson, they should already have plenty of practice using repeat loops, so now it's time to mix things up. While loops are loops that continue to repeat commands while a condition is met. While loops are used when the programmer doesn't know the exact number of times commands need to be repeated, but does know what condition needs to be true in order for the loop to continue repeating. For example, students will be working to fill holes and dig dirt in Farmer. They will not know the size of the holes or the height of the mountains of dirt, but the students will know they need to keep filling the holes and digging the dirt as long as the ground is not flat.

Lesson 13: Until Loops in Maze

In this lesson, students will learn about until loops. Students will build programs that have the main character repeat actions until they reach their desired stopping point.

Lesson 14: Harvesting with Conditionals

Students will practice while loops, until loops, and if / else statements. All of these blocks use conditionals. By practicing all three, students will learn to write complex and flexible code.

Lesson 15: Binary Images

Though many people think of binary as strictly zeros and ones, students will be introduced to the idea that information can be represented in a variety of binary options. This lesson takes that concept one step further as it illustrates how a computer can store even more complex information (such as images and colors) in binary, as well.

Lesson 16: Artist Binary

This series of online lessons will have students learning to make images using on and off.

Lesson 17: Digital Citizenship

In collaboration with Common Sense Education, this lesson helps students learn to think critically about the user information that some websites request or require. Students learn the difference between private information and personal information, distinguishing what is safe and unsafe to share online.Students will also explore what it means to be responsible and respectful to their offline and online communities as a step toward learning how to be good digital citizens.

Lesson 18: Dance Party

In this lesson, students will program their own interactive dance party. This activity requires sound as the tool was built to respond to music.