OER.ai

← CS Fundamentals — Course E

Grades 6–8 reading level

CS Fundamentals — Course E

Adapted with AI from the original open resource by Code.org. Nothing is invented — only the reading level changes.

COURSE E

Ch. 1: 1, 2, 3, 4
Ch. 2: 5, 6, 7
Ch. 3: 8, 9
Ch. 4: 10
Ch. 5: 11, 12, 13
Ch. 6: 14, 15, 16, 17
Ch. 7: 18

About Course E

This course was designed with fourth-grade students in mind. It starts with a quick review of ideas already taught in Courses C and D. This introduction is meant to excite beginners and remind more experienced students why computer science is so interesting.

Students will practice writing algorithms (step-by-step instructions), using loops, working with conditionals (if/then decisions), and responding to events — all before learning about functions (reusable blocks of code). At the end of the course, students complete a final capstone project they can proudly share with friends and family.

Journaling

The lessons in this course include journaling prompts. A journal is also useful as scratch paper for building ideas, fixing mistakes, and planning strategies. Over time, a journal becomes a great resource students can look back on when they're stuck on a tricky problem.

Think Spot Journal — Student Handout

Debugging

Whether you're a beginner or a professional programmer, debugging — finding and fixing mistakes in code — is an essential (though often underappreciated) skill. In fact, most of the time students spend "coding" is really spent fixing bugs! To help students take charge of this process, we provide a handy reference guide they can use while they work. For more tips on debugging and how to support it in your classroom, check the "Debugging" section of our CS Fundamentals Curriculum Guide.

Debugging Guide — Student Handout


Chapter 1: Ramp Up

Lesson 1: Sequencing in the Maze
Skill Building | Ramp Up
In this lesson, you will learn how to write your very own programs!

Lesson 2: Drawing with Loops
Skill Building | Ramp Up
In this lesson, loops make it easy to create even cooler images with Artist!

Lesson 3: Conditionals in Minecraft: Voyage Aquatic
Skill Building | Ramp Up
Here you will learn about conditionals in the world of Minecraft.

Lesson 4: Conditionals with the Farmer
Skill Building | Ramp Up
You will get to tell the computer what to do under certain conditions in this fun and challenging series.

Chapter Commentary: Ramp Up

Chapter 2: Sprites

Lesson 5: Simon Says
Unplugged | Behaviors
Play a game and think about what commands are needed to get the right result.

Lesson 6: Swimming Fish with Sprite Lab
Skill Building | Sprites
Learn how to create and edit sprites (characters or objects you can program).

Lesson 7: Alien Dance Party with Sprite Lab
Skill Building | Sprites
Create an interactive project that can be shared with classmates.

Chapter Commentary: Sprites

Chapter 3: Digital Citizenship

Lesson 8: Private and Personal Information
Unplugged | Online Safety
The internet is fun and exciting, but it's important to stay safe too. This lesson teaches you the difference between information that is safe to share and information that should stay private.

Lesson 9: About Me with Sprite Lab
Application | Online Safety
By creating an interactive poster with Sprite Lab, students will apply what they learned about sharing personal versus private information online.

Chapter Commentary: Digital Citizenship

Chapter 4: Impacts of Computing

Lesson 10: Designing for Accessibility
Unplugged | Impacts of Computing
In this lesson, students learn about accessibility — making technology usable for everyone — and build empathy by brainstorming and designing accessible solutions for imaginary apps.

Chapter Commentary: Impacts of Computing

Chapter 5: Nested Loops

Lesson 11: Nested Loops in Maze
Skill Building | Nested Loops
Loops inside loops inside loops — what does this mean? This lesson will teach you what happens when you place one loop inside another.

Lesson 12: Fancy Shapes Using Nested Loops
Skill Building | Nested Loops
More nested loops! This time, you get to make some amazing drawings using them.

Lesson 13: Nested Loops with Frozen
Application | Nested Loops
Anna and Elsa have excellent ice-skating skills, but they need your help to create patterns in the ice. Use nested loops to create something super cool.

Chapter Commentary: Nested Loops

Chapter 6: Functions

Lesson 14: Songwriting
Unplugged | Functions
Even rock stars need programming skills! This lesson teaches you about functions — reusable pieces of code — using lyrics from songs.

Lesson 15: Functions in Minecraft
Skill Building | Functions
Can you figure out how to use functions to write the most efficient code?

Lesson 16: Functions with Harvester
Skill Building | Functions
Functions will save you lots of work as you help the farmer with her harvest!

Lesson 17: Functions with Artist
Skill Building | Functions
Make complex drawings more easily by using functions!

Chapter Commentary: Functions

Chapter 7: End of Course Project

Lesson 18: End of Course Project
Projects this big take time and plenty of planning. Find your inspiration, develop a plan, and unleash your creativity!

Chapter Commentary: End of Course Project


If you are interested in licensing Code.org materials for commercial purposes, contact us.


COURSE E

Ch. 1: 1, 2, 3, 4
Ch. 2: 5, 6, 7
Ch. 3: 8, 9
Ch. 4: 10
Ch. 5: 11, 12, 13
Ch. 6: 14, 15, 16, 17
Ch. 7: 18

Lesson 1: Sequencing in the Maze

Overview

In this set of puzzles, students will begin with an introduction (or a review, depending on the class's experience) to Code.org's online workspace. Videos will point out the basic tools in the workspace, including the Run, Reset, and Step buttons. The videos also show students how to drag, delete, and connect Blockly blocks (the puzzle-piece-shaped code blocks used in these lessons).

Next, students will practice sequencing — putting steps in the correct order — and debugging skills in the maze. Debugging is a key part of learning to program. Students will find puzzles that have already been "solved," but incorrectly. They will need to step through the existing code to find mistakes, such as wrong loops, missing blocks, extra blocks, or blocks placed in the wrong order.

Purpose

Every classroom has students with different levels of experience. Some of your students might already be computer whizzes, while others may have little to no experience. To help create a fair starting point for everyone, we've designed these "ramp-up" lessons. Teachers can use them either as an introduction to Code.org and basic computer science ideas, or as a review.

Some students may feel frustrated during this lesson because debugging can be challenging. However, debugging is a crucial skill in computer programming — professional programmers must get very good at finding and fixing bugs in their own code. This process helps students build critical thinking and problem-solving skills as they learn to recognize and overcome mistakes.

Agenda

  • Warm Up (15 min): Introduction, Vocabulary
  • Main Activity (30 min): Online Puzzles
  • Wrap Up (5–10 min): Journaling, Extended Learning

View on Code Studio

Objectives

Students will be able to:

  • Put movement commands in the correct order as steps in a program.
  • Fix an existing program to correct errors.
  • Break a long sequence of instructions into the largest repeatable part.
  • Predict where a program will go wrong.
  • Fix an existing program to solve errors.
  • Reflect on the debugging process in an age-appropriate way.

Preparation

  • Try the puzzles yourself first to find any tricky spots for your class.
  • (Optional) Choose a few puzzles to complete together as a class.
  • Make sure every student has a journal.
  • Review the Debugging Recipe student handout with the class.

Links

Heads up! Please make a copy of any documents you plan to share with students.

For the Students:

  • Unplugged Blocks (Courses C–F) – Manipulatives (Make a Copy)
  • Debugging Recipe – Student Handout (Make a Copy)

Vocabulary

  • Bug – A part of a program that doesn't work correctly.
  • Debugging – Finding and fixing problems in an algorithm or program.
  • Program – An algorithm that has been turned into code a machine can run.
  • Programming – The skill of creating a program.

Teacher Tip: Show students the right way to help a classmate:

  • Don't sit in the classmate's chair.
  • Don't use the classmate's keyboard.
  • Don't touch the classmate's mouse.
  • Make sure the classmate can explain the solution out loud before you walk away.

Teaching Guide

Warm Up (15 min)

Introduction

Ask students to think about problems they solve in everyday life.

  • How do you fix something that isn't working?
  • Do you follow a specific series of steps?

Explain that some puzzles in this lesson have already been "solved" — but they aren't working correctly. We call these mistakes bugs, and it will be the students' job to debug, or fix, them.

Depending on your class's experience, students may be learning these vocabulary words for the first time or reviewing them. We suggest using each word in a sentence, even if you don't explain every definition in detail.

Vocabulary

This lesson introduces four important new words:

  • Program (say it: Pro-gram) – An algorithm that has been coded into something a machine can run.
  • Programming (say it: Pro-gramm-ing) – The skill of creating a program.
  • Bug (say it: Bug) – A mistake in a program that keeps it from working the way it should.
  • Debugging (say it: De-bugg-ing) – Finding and fixing mistakes in programs.

Say to students:

"Debugging is a process. First, you have to notice that there's a mistake somewhere in your program. Then you work through the program step by step to find it. Try the first step — did it work? Then the second — how about now? If you check that everything works line by line, you'll eventually reach the spot where the code stops doing what it's supposed to. That's how you know you've found your bug! Once you've found it, you can fix — or 'debug' — it."

If you'd like to build excitement, you can introduce the character featured in today's puzzles: Scrat from Ice Age. If students don't know Scrat, show a short video of the quirky, trouble-prone squirrel.

Main Activity (30 min)

Online Puzzles

Teachers play an important role in supporting a collaborative, energetic classroom during computer science lessons. During online activities, the teacher's main job is to encourage and support students rather than solve problems for them. Since these lessons are designed to be student-centered, try not to jump in the moment a student gets stuck. Here are some ways to encourage independent problem-solving:

  • Use Pair Programming (a strategy where two students work together on one computer) whenever possible.
  • Encourage students to ask their partner first when they have a question or run into a challenge.
  • If a pair can't solve a problem, they can ask a nearby

Original licensed under CC BY-NC-SA 4.0. This adaptation is provided free by OER.ai.