Lesson 2: Coding with Comments
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.
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 E. This can be used as either an introduction or a review of how to use Code.org and basic computer science concepts.
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 E Online Puzzles 2018 - 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 E Online Puzzles 2018 - Website
- CS Fundamentals Main Activity Tips - Lesson Recommendations
For the Students
- Unplugged Blocks (Courses C-F) - Manipulatives
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 "My Robotic Friends" 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 "My Robotic Friends", 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 E Online Puzzles 2018 - Website. We recommend puzzle 6 for this activity.
Have students form groups of three or four and redefine the arrows from "My Robotic Friends" (see below) to fit the context of the Angry Birds puzzle. For example, right
can mean "move Red the Angry Bird to the right" or simply "move right".
Once groups have redefined the arrows, they should write a "program" that makes Red the Angry Bird reach the pig.
When all groups are finished, discuss their work as a class.
Main Activity (30 min)
Course E Online Puzzles 2018 - 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.
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
- 4.L.6 - Acquire and use accurately grade-appropriate general academic and domain-specific words and phrases, including those that signal precise actions, emotions, or states of being (e.g., quizzed, whined, stammered) and that are basic to a particular topic (e.g
SL - Speaking & Listening
- 4.SL.1 - Engage effectively in a range of collaborative discussions (one-on-one, in groups, and teacher-led) with diverse partners on grade 4 topics and texts, building on others’ ideas and expressing their own clearly.
- 4.SL.1.b - Follow agreed-upon rules for discussions and carry out assigned roles.
- 4.SL.6 - Differentiate between contexts that call for formal English (e.g., presenting ideas) and situations where informal discourse is appropriate (e.g., small-group discussion); use formal English when appropriate to task and situation.
Common Core Math Standards
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
NBT - Number And Operations In Base Ten
- 4.NBT.4 - Fluently add and subtract multi-digit whole numbers using the standard algorithm.
Next Generation Science Standards
ETS - Engineering in the Sciences
ETS1 - Engineering Design
- 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.