Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
IT Module: Code Superpowers Pathways to Prosperity Network
1
CODE SUPERPOWERS
Essential Question: How Is Coding a Superpower?
Learning Targets:
Students will:
Use a variety of media to develop and deepen understanding of a topic or idea.
Develop a model or prototype for iterative testing and refinement.
Apply the principles of writing code.
Lesson Overview
Students will explore what coding is and why it is important. Students will have a hands-on
experience coding for the first time through a written coding game. In this game, students train a
robot using simple written commands. The robot is another student—a lot of laughter should
come out of this activity. The Young Professionals also learn about the career opportunities and
creative environments that coders work in. This lesson concludes with an exit ticket assessing
student understanding of how coding is a superpower.
IT Module: Code Superpowers Pathways to Prosperity Network
2
Lesson Agenda Opening
What Is Coding? (5 min)
Work Time Code Stars (15 min)
How to Train Your Robot (30 min)
Closure Coding Is a Superpower! (5 min)
Materials
Young Coder student packet
Lined paper
Videos to project:
What Is Coding?: https://www.youtube.com/watch?v=cKhVupvyhKk
Code Stars: https://www.youtube.com/watch?v=dU1xS07N-FA
Coding Is a Superpower: https://www.youtube.com/watch?v=Bwiln7v0fdc
FACILITATION NOTES
How to Train Your Robot. Set up the obstacle course for this activity in advance and be sure
you have adequate space (for larger classes, consider reserving space in the gymnasium of
your school or going outside). Arrange student pairs ahead of time if that works better for class
dynamics, and ensure classroom norms are followed throughout. Model the actions a robot can
take based on written commands so student robots react appropriately. Both students in the pair
will begin as programmers writing code for the robot to complete the course. As a whole class,
have one student in each pair (Robot One) run the obstacle course using their partner’s written
code. After the class completes this round, have the students switch roles and Robot Two will
run the obstacle course using Robot One’s written code. Have fun with the student robots and
normalize mistakes in code—students will have an opportunity to debug their robots following
the activity debrief. If you cannot reserve space in the gymnasium or go outside, another option
is to run this activity using a fishbowl protocol (one group of students goes, then the next; see:
https://www.facinghistory.org/resource-library/teaching-strategies/fishbowl).
Differentiation. Encourage students with a coding background to use the more complex html or
java script language when writing code commands for their robots. If you or other students are
interested in learning more about java script, visit:
https://www.codecademy.com/learn/javascript.
Debugging the Code. As an alternative to giving the YPs a chance to iterate their code after a
round of running the “robot program”, you can ask them to use the “revert last command”
IT Module: Code Superpowers Pathways to Prosperity Network
3
function to iterate and debug the robot program in real time. “Revert last command” allows the
coder to undo the robot’s most recent step. This may take more time for robots to get through
the obstacle course, so it is encouraged to use this method with a smaller class only.
Getting to the Heart of the Matter. This anchor chart protocol assists students in building
background knowledge. It is also a record on additional growth and learning as students
collaborate to synthesize new information, connections, and learning. This social learning helps
students to process and recall information. Anchor charts should be neat, reflect substantial
thinking and inquiry, and include every group member’s participation. Arrange groups in
advance if this works better for class dynamics.
Students will work from the outside towards the center (or “heart of the matter”).
Accountability Option: If students are learning to collaborate, assign each student a pencil of a
different color to encourage equity in participation. This ensures that each student will contribute
to the anchor chart with their given color. Alternatively, ask students to initial their contribution.
o As an extension, use the rubric to set expectations for quality, and give students an
opportunity to offer feedback.
Challenge by Choice. Encourage interested students to complete a different Hour of Code
tutorials at https://hourofcode.com/us. Ask students to provide a screenshot of their last page of
programming within the tutorial to document completion. Students who complete in-class
exercises early can work through more challenging tutorials.
IT Module: Code Superpowers Pathways to Prosperity Network
4
IN ADVANCE
Be prepared to project the What Is Coding? video (stop at 1:05) found at
https://www.youtube.com/watch?v=cKhVupvyhKk.
Be prepared to project the Code Stars video found at
https://www.youtube.com/watch?v=dU1xS07N-FA. This video introduces people who
code popular websites and apps. The coders share their love of coding and the need for
people to learn to write it. The video highlights the power of teamwork and creative work
environments in this field. Show until 4:55, pause for a check for understanding, then
show from 6:28-9:06.
Be prepared to project the Coding Is a Superpower video found at
https://www.youtube.com/watch?v=Bwiln7v0fdc. This video introduces fashion model,
Karlie Kloss, and her love of coding. She explains how programming is the language of
the future and that learning it is worthwhile. She highlights that if you can speak code,
you can build anything.
Vocabulary
Content Tier II
coding, code, coder, bug, debug, computer
programmer, software engineer, developer
vocabulary, grammar, syntax
Opening (5 min)
What Is Coding?
Coding (also called computer programming) is the act of writing a set of instructions run by a
computer, or code. Code is all around us. Whether we are using or playing computer games,
driving in our cars, or flying across the country, we are benefiting from code that a coder (also
called a computer programmer, programmer, software engineer, and developer) wrote. What do
you know about coding?
1. Direct the YPs to the <Heart of the Matter> anchor chart. Explain that in groups, they
will fill in the outermost frame with any information they already know about coding. Each
group member must contribute to the anchor chart.
Asking students
to relate coding
to their everyday
lives will allow
them to connect
the information
in the video to
their
background
knowledge. It
also
emphasizes the
idea that coding
can be found
anywhere in a
highly
technological
society.
IT Module: Code Superpowers Pathways to Prosperity Network
5
2. Show the <What Is Coding?> video: https://www.youtube.com/watch?v=cKhVupvyhKk
(stop at 1:05).
3. When the video has ended, use the Think-Pair-Share protocol. Explain to students that
they will (1) think individually about their reaction to the video; (2) pair with a partner and
discuss their reactions; and (3) share their ideas with the rest of the class.
4. Invite students to create a list of all the code that they come across on a daily basis.
o They should think through a recent day and recall each time they interacted
with a computer or a device that contains a computer.
o Invite students to use scratch paper to create the list and then share with a
partner.
4. Use equity sticks to select pairs to share some of the items on their lists.
o Listen for: Riding in a car or a plane, taking pictures, making videos, playing
video games, watching television, doing homework, etc.
o Point out that code is everywhere.
Work Time
Code Stars (15 min)
Now that we know what coding is and have had a chance to practice it, let’s explore why it is
important in the real world.
1. Show the <Code Stars> video: https://www.youtube.com/watch?v=dU1xS07N-FA.
Pause the video at 4:55.
2. Check for understanding: With about 1.4 million programming jobs available and only
about 400,000 college graduates who have learned to code, approximately how many
programming jobs will be available after those who have learned to code fill positions?
3. Listen for: About 1 million jobs will be left over because only 400,000 are being filled by
qualified coders.
4. Explain that this is important because getting a programming job after graduation could
be easier than applying for other career clusters, since there is such a high demand to fill
the left over programming jobs.
5. Restart the video at 6:28. Show until 9:06.
6. Ask students: Why do you think Will.i.am says that everyone should learn how to write
code?
7. Invite students to think-pair-share.
IT Module: Code Superpowers Pathways to Prosperity Network
6
8. Use equity sticks for pairs to share their thinking. Answers will vary but may include:
Will.i.am pointed out that many careers require the use of computer technology, so
knowing how to code could be beneficial in any career. The teacher also stated that
coding encourages deep thinking and problem solving.
9. Direct the YPs to revisit the <Heart of the Matter> anchor chart in their groups from the
beginning of class. Explain that they should now fill in the second frame with the new
information they have learned about coding.
How to Train Your Robot (30 min)
In today’s work, we really delve into what it means to write code. As a reminder, code is the set
of instructions run by a computer program. These instructions form a language, with its own
vocabulary, grammar, and syntax. In other words, coding is speaking the language of
computers. In fact, you can think about “speaking” code as similar to speaking another human
language, like Spanish or German! We are going to begin our coding by learning how to train a
robot.
Writing Code
1. Use equity sticks to partner students. Alternatively, partner students in advance if that
is better for class dynamics.
2. Explain to students that in each pair, one person will be the robot and the other will be
the programmer. The programmer’s role will be to write code that will safely direct the
robot through the obstacle course, pick up a ball, and return through the course to the
programmer. Later, they will switch roles.
3. Distribute the <Robot Language Dictionary> and a piece of lined paper to each
student.
4. Model the robot’s range of motion by reading the <Leg Forward> and <Body Rotate>
symbols and demonstrating proper robot response. Also model usage of the <Re Do>
command for when the robot needs to fix a step.
5. Check for understanding: If any programmers are still confused, join me at the table for
some additional explanation.
6. Ask both partners to begin in the programmer role. Have them observe the obstacle
course and take 8-10 minutes to write a program for their robot. This program should
instruct the robot to pass through the obstacle course in the room, pick up a ball, and
bring it back. Using the <Robot Language Dictionary> for reference, the programmer
will write a list of symbols on the paper for the robot to read and follow.
As an extension,
turn this into a
math-rich activity
by asking students
to calculate
approximately how
many
programming jobs
will be available
for each college
graduate based on
the video’s
statistics.
IT Module: Code Superpowers Pathways to Prosperity Network
7
Robots Go! Running the Code
1. When the young professionals are ready, invite Robot One to begin the obstacle
course.
o Encourage the YPs to observe how different programmers attempt to
solve the obstacle course.
2. Provide time for Robot One to complete the course.
3. As a whole class, have students switch roles and ask Robot Two to complete the
obstacle course.
4. At the conclusion of the activity, debrief: Was your program successful? Why or
why not? 5. Invite volunteers to share their experiences with code writing.
6. Listen for: Programs were unsuccessful because the robot didn’t respond to the
code the way that I expected or the code was missing key steps.
7. Ask: Did everyone program their robot the same way?
o Invite students to share their written codes with the class.
o Select multiple examples from the volunteers, and project them.
o Ask: What differences do you notice? Would you make any changes to
your code based on what you see in these examples?
o Use equity sticks to solicit responses.
Debugging & Iteration
1. Explain to students that code that doesn’t run correctly is said to have a bug. A bug is
an error in the code that prevents it from running correctly or results in an unintended
outcome.
2. Invite students to debug their code to ensure that their program is successful.
3. If time allows, invite pairs to work together to invent new moves with associated
symbols and to “run” a new program together.
Encourage a
growth mindset by
normalizing
struggle. In the
real world, coders
encounter bugs
frequently and
must debug their
code to ensure a
program can run
successfully. The
YPs are not
expected to get it
right the first time,
but they are
expected to use
feedback from the
“robot’s” actions to
improve their
program.
IT Module: Code Superpowers Pathways to Prosperity Network
8
Closure (5 min)
Coding Is a Superpower!
Today, we learned a lot of new information about coding, how to use it, and why it is important
in the real world. Throughout our learning, we’ve heard coding being described as the closest
thing to a superpower that we can have! How is coding a superpower?
1. Show the <Coding Is a Superpower> video:
https://www.youtube.com/watch?v=Bwiln7v0fdc.
2. When the video has ended, direct students to complete the center frames of their
<Heart of the Matter> anchor chart with examples of how coding can be a
superpower.
3. Use equity sticks to solicit responses.
o Listen for: Coding is a superpower because it allows you to be creative,
solve problems, and make and change things.
School to Home Connection
How Do You Define Coding?
Encourage students to ask their parents and friends about coding. Students should ask: How
would you define coding? What do coders do? Why do you think coding is important?
Students should take notes on the responses and consider how well people understand what
coding is and what a coder does and write about their experience and their conclusions.
Encourage the
YPs to connect
what they know
about
superpowers to
the new
knowledge they
gained today
about coding.
Drawing this
analogy will
reinforce the
importance of and
need for coding in
the real world.
IT Module: Code Superpowers Pathways to Prosperity Network
9
Name:
Date:
CODE SUPERPOWERS: How Is Coding a Superpower?
Today’s Learning Objectives:
I can:
Use a variety of media to develop and deepen my understanding of a topic or idea.
Develop a model or prototype for iterative testing and refinement.
Apply the principles of writing code.
I will explore what coding is and why it is important. I will have a hands-on experience coding for
the first time through a written coding game. In this game, I will train a robot using simple written
commands. The robot is another classmate—a lot of laughter should come out of this activity. I
will also learn about the career opportunities and creative environments that coders work in.
This lesson concludes with an exit ticket assessing my understanding of how coding is a
superpower.
Today’s Activities:
What Is Coding?
Code Stars
How to Train Your Robot
Coding Is a Superpower!
IT Module: Code Superpowers Pathways to Prosperity Network
10
Robot Language Dictionary
From: http://offbeatfamilies.com/2012/12/teaching-kids-to-program)
IT Module: Code Superpowers Pathways to Prosperity Network
11
Robot Code
Directions. Observe the obstacle course and note what actions your robot would need to take
to successfully complete it. Record the appropriate symbol for each step below. Note: You may
not have to use all of the boxes.
Run Program:
STOP
START
IT Module: Code Superpowers Pathways to Prosperity Network
12
School to Home Connection
Directions. Talk to your parents and friends about coding. Ask:
o How would you define coding?
o What do coders do?
o Why do you think coding is important?
Take notes on the responses and consider how well people understand what coding is and what
a coder does. Write about your experience and your conclusions.
Consider sharing the videos we saw in class today if your parent or friend would like to further
explore coding.
o What Is Coding? https://www.youtube.com/watch?v=cKhVupvyhKk.
o Code Stars https://www.youtube.com/watch?v=dU1xS07N-FA. o Coding Is a Superpower https://www.youtube.com/watch?v=Bwiln7v0fdc.
IT Module: Code Superpowers Pathways to Prosperity Network
13
Facilitator Documents:
Heart of the Matter Anchor Chart