Lesson 3: Introduction to Online Puzzles
60 minutes
Overview
In this skill-building lesson, students will practice their sequencing and debugging skills in maze puzzles.
Purpose
We recognize that every classroom has a spectrum of understanding for every subject. Some students in your class may be computer wizards, while others haven't had much experience at all. In order to create an equal playing (and learning) field, we have developed this "Ramp Up Stage" for Course D. This can be used as either an introduction or a review of how to use Code.org and basic computer science concepts. This stage covers all prerequisites needed to start Course D.
Standards
AP - Algorithms & Programming
- 1B-AP-11 - Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
Agenda
Objectives
Students will be able to:
- Break down a long sequence of instructions into the largest repeatable sequence.
- Modify an existing program to solve errors.
- Order movement commands as sequential steps in a program.
Preparation
- Play through the puzzles to find any potential problem areas for your class.
Links
Heads Up! Please make a copy of any documents you plan to share with students.
For the teachers
- CSF - Course D - Slides 2022-2023 - Slides (Download)
For the students
- Pair Programming - Student Video
Vocabulary
- Bug - Part of a program that does not work correctly.
- Debugging - Finding and fixing problems in an algorithm or program.
- Loop - The action of doing something over and over again.
- Program - An algorithm that has been coded into something that can be run by a machine.
- Programming - The art of creating a program.
Teaching Guide
Warm Up (10 minutes)
Reflect
Display: Show “Reflect” slide
Reflect: Why is it important to give a robot specific instructions when you “program” it?
Students will either be learning a lot of new concepts or reviewing a lot of basic concepts. Based on your class's experience, you can cover the following vocabulary or move on to a bridging activity. We recommend using the following words in sentences if the definitions aren't explicitly covered.
Vocabulary
Display: Show “Vocabulary” slide
This lesson has the following important vocabulary words:
-
Bug - An error in a program that prevents the program from running as expected.
-
Debugging - Finding and fixing errors in programs.
-
Loop - The action of doing something over and over again
-
Program - An algorithm that has been coded into something that can be run by a machine.
-
Programming - The art of creating a program.
Bridging Activities - Programming (10 minutes)
This activity will help bring the unplugged concepts from "Graph Paper Programming" into the online world that the students are moving into.
Preview of Online Puzzles as a Class
Display: Show the next slide
Pull up a puzzle from the lesson. We recommend puzzle 6 for this activity. Break up the students into groups of three or four. Have them "program" Red, the angry bird, to get to the pig using arrows from "Graph Paper Programming."
The class will not need to use the last arrow.
Once all the groups have an answer, discuss the path as a class.
Main Activity (30 minutes)
Online Puzzles
Show the students the right way to help classmates:
- 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 describe the solution to you out loud before you walk away
Teachers play a vital role in computer science education and supporting a collaborative and vibrant classroom environment. During online activities, the role of the teacher is primarily one of encouragement and support. Online lessons are meant to be student-centered, so teachers should avoid stepping in when students get stuck. Some ideas on how to do this are:
- Utilize Pair Programming whenever possible during the activity.
- Encourage students with questions/challenges to start by asking their partner.
- Unanswered questions can be escalated to a nearby group, who might already know the solution.
- Have students describe the problem that they’re seeing. What is it supposed to do? What does it do? What does that tell you?
- Remind frustrated students that frustration is a step on the path to learning, and that persistence will pay off.
- If a student is still stuck after all of this, ask leading questions to get the student to spot an error on their own.
Display: Show “Maze Intro: Programming with Blocks” video
Display: Show “Level 2-7 - Skill Building” slide
Display: Show “Level 8-10 - Challenge” slide
Wrap Up (10 minutes)
Reflection
Display: Show “Reflect” slide
Reflect
- Why is it important to program your blocks in a specific order?
This work is available under a Creative Commons License (CC BY-NC-SA 4.0).
If you are interested in licensing Code.org materials for commercial purposes contact us.