Lesson 2: The Circuit Playground
45 minutes
Overview
In this lesson students get their first opportunity to write programs that use the Circuit Playground. After first inspecting the board visually and hypothesizing possible functionalities, students move online where they will learn to write applications that control an LED and use a buzzer to make sounds. By combining App Lab screens with the Circuit Playgrounds, students can gradually start to integrate elements of the board as an output device while relying on App Lab for user input.
Question of the Day: What outputs can I control on the circuit playground?
Assessment Opportunities
-
Connect and troubleshoot external devices
At the beginning of the online activity, students should connect the boards themselves, using the setup page to troubleshoot common problems.
-
Turn on and off an LED with code
Code Studio: See rubric on level 9.
-
Control the buzzer with code
Code Studio: see rubric on level 9.
Standards
AP - Algorithms & Programming
- 2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
CS - Computing Systems
- 2-CS-02 - Design projects that combine hardware and software components to collect and exchange data.
- 2-CS-03 - Systematically identify and fix problems with computing devices and their components.
Agenda
Objectives
Students will be able to:
- Connect and troubleshoot external devices
- Control the buzzer with code
- Turn on and off an LED with code
Preparation
- Make sure that student computers have the drivers and software necessary to connect to the Circuit Playground (details here)
- Prepare a board and USB cable for each pair of students
- Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Links
Heads Up! Please make a copy of any documents you plan to share with students.
For the teachers
- The Circuit Playground - Slides
For the students
- Circuit Playground - Resource
- Physical Output - Resource
Vocabulary
- Output - the information computers give to users, devices, or other computers
Teaching Guide
Warm Up (5 minutes)
Board Inspection
Distribute: Pass out a board and USB cable to each pair of students. Let students know that they should not yet plug the boards in.
Prompt: Ask pairs to spend one minute looking over the board, focusing on the details. What do you think this board does (or could do) and why?
Share: Have groups share back their thoughts to the whole group, keeping track of ideas on the board. Push students to support their ideas with evidence from reviewing the board, but don't worry about ensuring correctness at this point. As students go through this unit, they can refer back and refine this list.
Remarks
These devices are called Circuit Playgrounds. Throughout this unit, we're going to learn how to add code to control these devices. Today we're going to focus on the outputs of this device, which is the information a computer or device gives to users.
Vocabulary:
- Output: the information computers give to users, devices, or other computers
Question of the Day: What outputs can I control on the circuit playground?
Activity (35 minutes)
Connecting The Board
Transition: Ask students to plug their boards in and head to the Maker Toolkit setup page to confirm that the software has been correctly configured.
Troubleshooting Board Issues: Ensure that all students are able to set up their boards correctly. If they have trouble, encourage them to work with peers to solve the problem with the help of the setup page. Students should be able to read through the page and follow the instructions on their own. If not, walk them through the process, but encourage them to troubleshoot their own boards in subsequent lessons.
Transition: Send students to Code Studio
Text-to-Speech Options: The instructions panel includes two options that can support comprehension for students.
- Text to Speech which reads aloud the instructions for students
- Microsoft Immersive Reader which opens a new panel for the instructions and gives controls to change the text size, contrast, or translate to another language.
Facilitating Predict Levels: Predict levels are a great opportunity for students to think critically about code and engage in class discussions. Consider having students think of their own prediction and discuss with a partner before typing in their response. Once they're run the code, bring the class together for a full-group discussion to discuss how their predictions were similar or different from the resulting program. Use this as an opportunity to address any misconceptions that students may have had about the code initially.
Caution: Predict Entries Can't Be Deleted! Once you enter an answer into the predict box, you are not able to reset it. This can make it difficult to repeat this process with multiple classes. Instead, we recommend entering dummy text like "Class discussion" and running the code. This way, the answer isn't "spoiled" for future classes. However, this means you will need to keep track of predictions separately such as on a whiteboard or in a document.
Digging Deeper: For more tips about programming levels, see the CSD Guide to Programming Levels. This document includes strategies and best-practices for facilitating programming levels with students.
When the button on the screen is clicked, the code will turn on a small red LED near the USB plug of the circuit playground. Students may have expected one of the larger LED lights to turn on, so they may not immediately notice the smaller red LED.
Facilitating Skill Building Levels: Skill Building levels are designed to continue teaching new skills and blocks through exploration, trial-and-error, and using worked examples from pre-supplied code. Students are still getting familiar with the concepts in the lesson and will need strong support throughout these levels to build confidence, debug their code, and cement their understanding.
Consider having students complete Skill Building levels in pairs using Pair Programming, which has students use one computer and trade between being a Driver or a Navigator. This process is highlighted in this video, which you can show to the class. You can have students switch roles based on a timer, or switch every time they complete a level.
Digging Deeper: For more tips about programming levels, see the CSD Guide to Programming Levels. This document includes strategies and best-practices for facilitating programming levels with students.
This code uses the buzzer on the Circuit Playground to create a sound. The first number in the frequency block controls the note of the buzzer - low numbers create lower bass notes, and high numbers create higher frequency sounds. Students will explore these frequencies in the next few levels
Using Resources: Below you can find recommendations for using the many resources students are introduced to in the lesson. You could consider creating a "Resource Chart" to keep track of these options and support students to be self-sufficient as they progress through levels.
- Videos: Watched as a class, but students can always return to them.
- Help and Tips Tab: This tab contains all of the relevant videos and reference guides for a particular level.
- Reference Guides: Contain text and diagrams explaining content. These are intended as helpful student resources, not class readings. They are a good place to go for review after learning content or when students get stuck in levels. You may decide to print these and have them available for students as they work through levels.
- Documentation and Examples: Hovering over a block will show a short description of what the block does. Clicking the "See Examples" link will open the documentation for that block.
- Level Instructions: Instructions may introduce small pieces of new content. Each level features a "Do This" section explaining what students are supposed to do in that level. Set the expectation early that reading these instructions, not just the "Do This" section, is important.
Facilitating Practice Levels: Practice levels are designed for students to apply their knowledge from the previous levels and develop fluency in using the new blocks of code to solve problems. Students can choose which practice levels they would like to complete, and it’s not necessary for a student to complete each practice level before continuing.
Students tend to be more engaged and respond better when they have an authentic choice about how to continue their learning. Allow students to choose practice levels according to their interests and level of comfort, and consider providing opportunities for students to demonstrate and explain their solutions to the practice levels they chose to the entire class.
Digging Deeper: For more tips about programming levels, see the CSD Guide to Programming Levels. This document includes strategies and best-practices for facilitating programming levels with students.
Facilitating Assessment Levels: Assessment levels contain a single task that requires applying the skills and concepts from the level in order to solve. Students should complete these levels individually and you can use your judgment of how much external help students should have. Assessment levels also contain a rubric that can be used for formative assessment and a box to provide feedback to students - click here to learn more about using rubrics and giving feedback to students.
Digging Deeper: For more tips about assessing student work, see the CSD Guide to Assessment.
Facilitating Challenge Levels: Challenge levels are designed as extensions to the concepts and skills students learn throughout a lesson. Challenge levels tend to focus on more open-ended tasks for students to complete, or opportunities to combine several skills from previous lessons together into one program.
Challenge levels do not need to be completed for students to meet the core objectives of a lesson. Instead, every task in a challenge level is meant to supplement and enrich the learning objectives of a lesson, but are not required for future lessons. Students can still demonstrate mastery of the objectives of a lesson without completing any of the challenge levels.
Digging Deeper: For more tips about programming levels, see the CSD Guide to Programming Levels. This document includes strategies and best-practices for facilitating programming levels with students.
Wrap Up (5 minutes)
What's in a Board
Journal: Ask students to reflect on their introduction to the Circuit Playground. What did they think it was at first inspection? How did those expectations change after having programmed on the board?
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.