Lesson 2: Introduction to Online Puzzles
Overview
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.
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.
Agenda
Warm Up (10 min)
Bridging Activities - Programming (10 min)
Main Activity (30 min)
Wrap Up (10 min)
View on Code Studio
Objectives
Students will be able to:
- Order movement commands as sequential steps in a program.
- Modify an existing program to solve errors.
- Break down a long sequence of instructions into the largest repeatable sequence.
Preparation
- Play through the Course D Online Puzzles - Website to find any potential problem areas for your class.
- Make sure every student has a Think Spot Journal - Reflection Journal.
Links
Heads Up! Please make a copy of any documents you plan to share with students.
For the Teachers
- Course D Online Puzzles - Website
- CS Fundamentals Main Activity Tips - Lesson Recommendations
For the Students
- Unplugged Blocks (Courses C-F) - Manipulatives
- Think Spot Journal - Reflection Journal
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.
Support
Report a Bug
Teaching Guide
Warm Up (10 min)
Introduction
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
This lesson has four new and important vocabulary words:
-
Program - Say it with me: Pro - Gram An algorithm that has been coded into something that can be run by a machine.
-
Programming - Say it with me: Pro - Gramm - ing The art of creating a program.
-
Bug - Say it with me: Bug An error in a program that prevents the program from running as expected.
-
Debugging - Say it with me: De - Bugg - ing Finding and fixing errors in programs.
-
Loop - Say it with me: Loo-p The action of doing something over and over again
Bridging Activities - Programming (10 min)
This activity will help bring the unplugged concepts from "Graph Paper Programming" into the online world that the students are moving into. Choose one of the following to do with your class:
Unplugged Activity Using Paper Blocks
Similar to "Graph Paper Programming", have the students in your class pair up. Pass out multiple fill 1
and move ___
blocks from the Unplugged Blocks (Courses C-F) - Manipulatives to each pair. Have each pair of students draw a design on a four by four graph from Graph Paper Programming - Worksheet. Next, have the students work together to write the program needed to draw this design using the paper Blockly blocks. The students will need to write up
, down
, right
, or left
on the move ___
block. Make sure the students know that the program goes from top to bottom and the blocks need to touch!
Preview of Online Puzzles as a Class
Pull up a puzzle from Course D Online Puzzles - Website. 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 min)
Course D Online Puzzles - Website
Teacher Tip:
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 - Student Video 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.
- Remind students to use the debugging process before you approach.
- 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.
Wrap Up (10 min)
Journaling
Having students write about what they learned, why it’s useful, and how they feel about it can help solidify any knowledge they obtained today and build a review sheet for them to look to in the future.
Journal Prompts:
- What was today's lesson about?
- How did you feel about today's lesson?
- List some of the bugs you found in your programs today.
- What was your favorite puzzle to complete? Draw your favorite character completing a puzzle.
Student Instructions
For this puzzle, drag all of the blocks together and click "Run" to watch it go!
Student Instructions
Drag an extra move forward
block out of the toolbox, then attach all blocks to when run
to finish your code.
Student Instructions
"This pig is ruffling my feathers."
There is one extra block that is going to cause the bird to crash.
Throw it away by dragging it back to the toolbox.
Student Instructions
"Trace the path and lead me to the silly pig."
Avoid TNT or feathers will fly!
Student Instructions
"Follow this path to get me to the pig!"
Avoid the TNT.
Student Instructions
"Keep calm and help me find the bad pig. Otherwise I might get angry!"
When you have several blocks in a row, try moving them inside of a repeat
loop. This will do the same thing with less code!
Student Instructions
"It's time to get angry!"
Use what you've learned to get the bird to the pig!
Student Instructions
This puzzle is a lot like the last one, but now it stars Laurel the Adventurer!
Take the same path as before, but this time, use a repeat loop to collect treasure when you get to it.
Student Instructions
Now there's more treasure. Can you help Laurel collect it all?
Student Instructions
Walk Laurel around this square collecting the treasure as you find it.
Student Instructions
Great! Now let's make a square using Artist! The blocks are a little different, but the idea is the same.
Each side of the square has a length of 200 pixels, and you will need to turn 90 degrees to make each angle.
Student Instructions
Use what you've learned to draw this triangle inside of a square.
The sides are each 200 pixels long. You will need to turn 90 degrees to make the square and 120 degrees to make the triangle.
Student Instructions
Here is a new puzzle type that uses blocks similar to what you have already seen. Can you make a prediction about what will happen when you run the code below?
The farmer will walk to the end of the path and harvest the pumpkin.
The farmer will try to pick pumpkins at each square, but won't ever make it to the pumpkin.
The farmer will walk four spaces, then try to pick one pumpkin.
I don't know.
Standards Alignment
View full course alignment
CSTA K-12 Computer Science Standards (2017)
AP - Algorithms & Programming
- 1B-AP-11 - Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
Cross-curricular Opportunities
This list represents opportunities in this lesson to support standards in other content areas.
Common Core English Language Arts Standards
L - Language
- 3.L.6 - Acquire and use accurately grade-appropriate conversational, general academic, and domain-specific words and phrases, including those that signal spatial and temporal relationships (e.g., After dinner that night we went looking for them).
SL - Speaking & Listening
- 3.SL.1 - Engage effectively in a range of collaborative discussions (one-on-one, in groups, and teacher-led) with diverse partners on grade 3 topics and texts, building on others’ ideas and expressing their own clearly.
- 3.SL.3 - Ask and answer questions about information from a speaker, offering appropriate elaboration and detail.
- 3.SL.6 - Speak in complete sentences when appropriate to task and situation in order to provide requested detail or clarification.
Common Core Math Standards
G - Geometry
- 3.G.2 - Partition shapes into parts with equal areas. Express the area of each part as a unit fraction of the whole. For example, partition a shape into 4 parts with equal area, and describe the area of each part as 1/4 of the area of the shape.
MP - Math Practices
- MP.1 - Make sense of problems and persevere in solving them
- MP.2 - Reason abstractly and quantitatively
- MP.5 - Use appropriate tools strategically
- MP.6 - Attend to precision
- MP.7 - Look for and make use of structure
- MP.8 - Look for and express regularity in repeated reasoning
Next Generation Science Standards
ETS - Engineering in the Sciences
ETS1 - Engineering Design
- 3-5-ETS1-1 - Define a simple design problem reflecting a need or a want that includes specified criteria for success and constraints on materials, time, or cost.
- 3-5-ETS1-2 - Generate and compare multiple possible solutions to a problem based on how well each is likely to meet the criteria and constraints of the problem.