Students explore complex programming concepts by systematizing simple activities.
Core concepts include computational thinking, conditional statements, looping, error handling, and variables.
The comic book, The STEM Sagas: Virtually Rerouted, brings the challenge concepts to life while supporting the idea of collaborative problem-solving with a cast of diverse characters and exciting adventure.
Lesson Plan Overview: Suggested 11 lessons over 15 days
Lesson 1: Introducing the Challenge (45 min) — Students receive a letter from CodeWorks Publishing, a company that is writing a book to teach young children about programming. Students are asked to learn more about programming and to write sample “absent-minded” and corresponding well-thought-out programs to be included at the end of their book.
Lesson 2: Writing Instructions (45 min) — Students explore the everyday challenge of sorting same-colored socks into pairs. They start by breaking down the simplest form of the task—using a fixed number of identical socks—into component steps. In teams, they write instructions for a robot to sort a pile of socks, test their instructions, and share them with the class. They discuss how their instructions could be misinterpreted and think about ways to correct those misinterpretations.
Lesson 3: Looping Loops (45 min) — Students review their instructions from the previous session and apply what they learned to a more challenging problem: writing a program for a robot to sort and pair a large (or even unspecified) number of socks. The goal of this activity is to introduce the concept of loops in programming. Students then write a program to explain how to perform a more complex task (such as performing a dance or making s’mores) so other students can follow them.
Lesson 4: If … Then … What? (45-90 min) — Students begin to incorporate decision-making within programs. They revisit the sock-sorting-and-folding challenge, where their robot must decide whether two socks are a match and what to do if they are not. Students practice developing an algorithm that includes decision-making by creating a “guess my number” program.
Lesson 5: Making a Decision (45-90 min)- Students extend their understanding of conditionals to include both if-then-else statements and nested-if statements. They apply their new understanding by updating their algorithms to sort a pile of socks that now includes more than one color. As a class, they discuss different strategies for how to tackle the problem, and update their program using conditionals and loops to complete the task in the optimal way.
Lesson 6: Data Inputs and Outputs (45-90 min) — Students formalize some concepts they worked with in the previous activities but have not yet put names to, including variable, input, output, data, and database. After choosing one of three activities, they write a program that includes input, output, and at least one variable.
Lesson 7: Breaking Down the Problem (45-90 min) — Students on breaking down a larger problem into smaller subtasks. They explore several options for how to break down a task and discuss how each strategy is different and under which conditions one algorithm may be more efficient than another.
Lesson 8: Programming Our Absent-Minded Task (45 min) — Students choose their programming tasks for the final CodeWorks challenge and begin to decompose the tasks. They begin to develop their absent-minded programs by combining the various bugs (errors in computer programs that lead to incorrect or unexpected results) that they’ve experienced in previous activities.
Lesson 9: Making Our Program Work (45 min) — Students develop a well-thought-out program to accompany the absent-minded program they developed in Activity 8. They debug their absent-minded programs by looking for places where their code is imprecise or inefficient, and then try to create the best possible programs for their tasks.
Lesson 10: Preparing Our Presentations (45 min) — Teams develop presentations for the two programs they created. Students are reminded how their work will be assessed.
Lesson 11: Presenting Our Projects (45-90 min) — Each team first presents its absent-minded program, complete with an explanation of how the program can go wrong, and then the companion program, with an explanation of why this program will complete the task correctly and efficiently. Students reflect on how their understanding of programming has grown since they began the challenge.
Display on Website |
Quantity |
Legos (assorted) |
1 |
Stopwatch |
4 |
Drawstring Bag |
10 |
Assorted Socks |
100 |
Wooden Skewers |
6 |
Cotton Balls |
12 |
Laminated If-Then-Else Cards |
18 |
Foam Graham Crackers |
24 |
Foam Chocolate Bars |
12 |
Laminated Campfire Picture |
3 |
Team Portfolio |
8 |
Science Notebook |
32 |
Downloadable Curriculum and Supporting Files |
1 |
PEO Activity / Section |
Supporting Materials |
Kit Materials |
This kit provides materials for an average class size of 32 students working in teams of four. |
Activity 1 Preparation; Steps 5-6 |
Exact Instructions Challenge | How to Make a Perfect Sandwich Exact Instructions Challenge | Ramen Edition Exact Instructions Challenge | The Holderness Family NOTE: Some of the suggested video segments include instructions for two tasks. You may want to show a portion of those videos depicting only one task, or have students concentrate on just one task when they write instructions later in the activity. |
Activity 1, Step 18 |
|
Activity 2, Preparation and Unplugged Extension |
The Easiest Card Trick for Beginners—You Can’t Screw Up! For an added challenge, play the video for students without sound. Make sure to show it at least twice so students have time to write down everything they see |
Activity 2, Tech Extensions |
Lightbot Blockly Games: Maze Code.org: Star Wars: Building a Galaxy with Code Blocks |
Activity 3, Preparation |
|
Activity 3, Step 12, What to Watch For |
|
Activity 3, Tech Extensions |
Code.org: Hour of Code—Mark Zuckerburg Teaches Loops Code.org: Lesson 13: Maze Loops Code.org: Lesson 14: Bee Loops Lightbot Blockly Games: Maze Code.org: Dance Party |
Activity 4, Tech Extensions |
Code.org: Hour of Code—Bill Gates Explains If Statements Code.org: Lesson 11: Conditionals in Bee Blockly Games: Maze |
Activity 4, Background, Sorting |
Bubble Sorts LEGO Bubble Sort Insertion Sort, Kahn Academy Visualization and Comparison of Sorting Algorithms |
Activity 5, Tech Extension |
Flocabulary.com: Coding: Conditionals |
Activity 9, Tech Extensions |
Code.org Lesson 5: Maze: Debugging Gidget |