Sub plan
CS Fundamentals — Course D
Generated from the original open resource by Code.org. Built only from the resource — nothing invented. Free, no login.
Objective
Students will be able to:
- Reframe a sequence of steps as an encoded program
- Explain the constraints of translating instructions from human language (algorithm) into a simpler, symbol-based "machine language" (program)
Materials
- CS Fundamentals Course D, Lesson 1: Graph Paper Programming (Activity Worksheet, printed one per student)
- 4x4 grids or graph paper sectioned into 4x4 boxes (one per student)
- Whiteboard or chart paper to write commands/symbols where all students can see
- Student journals (for Wrap-up)
Warm-up (~5 min)
Discussion: "How do robots know how to do the things they do?"
- Ask students: "How do you suppose robots know how to do the things they do? Do they have brains that work the same way ours do?"
- Let a few students share ideas (many will mention robots from movies/TV).
- Push students to think of real robots they've seen or heard of (e.g., a Roomba, a digital assistant like Alexa).
- Guide the discussion toward this key point: people have to program robots to do specific things, using specific commands. Robots only respond to their programming — they don't think for themselves.
Main Activity (~25 min)
Practice Together — "Programming" a Classmate as a Robot
- Distribute a 4x4 grid and the image worksheet to each student.
- Write these five commands on the board so they stay visible the whole class:
- Move one square right
- Move one square left
- Move one square up
- Move one square down
- Fill in square with color
- Say: "Today we all get to program robots... and they're already here in the room — it's you! We're going to give instructions to recreate a picture. First we'll practice together, with me as the robot."
- Display the sample image from the worksheet and draw a blank 4x4 grid on the board that you will fill in yourself, acting as the "robot" (your arm is the "Automatic Realization Machine" or ARM).
- Starting at the upper left-hand corner, have students call out instructions to guide your ARM, using only the five listed commands. Repeat each instruction out loud as you follow it, and write each instruction down on the board as you go, so the whole list (the algorithm) is visible when you finish.
- Once the sample square is complete, say: "You just gave me a list of steps to finish a task — in programming, that's called an algorithm."
- Show students a more complicated image (or describe one that would take many more steps). Begin writing out the instructions long-hand until it becomes clear this would take a huge number of steps ("PLUS 12 MORE INSTRUCTIONS!").
- Introduce the symbol list for each of the five commands (right, left, up, down, fill-in). Discuss: "How could we use these symbols to make our instructions easier?" Guide students to see that a string of instructions like "Move one square right, Move one square right, Fill in square with color" can now be written as a short row of symbols — this is called a program.
- As a class, use the symbols to encode and draw the more complicated image together, with volunteers suggesting the next symbol in the sequence while you (or a student) act as the robot filling in the grid.
Wrap-up / Exit Ticket (~10 min)
Journaling / Flash Chat
- Have students open their journals and answer in writing:
- "What is the difference between an algorithm and a program?"
- "Why do we use symbols instead of writing out every instruction in words?"
- Ask a few volunteers to share their answers aloud as a flash chat to close out the lesson.
If Time Remains
Have students pair up and take turns being "programmer" and "robot" using their own blank 4x4 grids: one student secretly picks a simple picture to color in on the worksheet, then uses the symbols to instruct their partner (the "robot") to recreate it on a blank grid, without showing the original image until the end.
Original licensed under CC BY-NC-SA 4.0. This teaching material is provided free by OER.ai.