# data[].attributes.body
After doing biographical research, two students could work together to develop interview questions and code+record an interview with their biographical subjects.

# data[].attributes.body
Identifying important events in socials studies content

# data[].attributes.body
You can connect moving to absolute coordinates, the compass rose, and the happy maps in code.org. (using it as a scaffolding device.)

# data[].attributes.body
I think this would be a great activity to go with Black History Month, where students could make comments from the perspective of different individuals in the scene.

# data[].attributes.body
https://docs.google.com/document/d/1gLk1y6T_LG6_hpDdzOve9uGDRNoyeGw5GPXen4wP6bs/edit

# data[].attributes.body
Students move in a physical grid on the floor to create a shape with their path. (e.g., a square).

# data[].attributes.attachment_link.readable_text
Using the same structure and resources as the Rescue Mission lesson, we can integrate geometry with Kidbots.

Key questions

How could thinking about programming help us to understand the features of a shape?

Why is it important to get the sequence right when drawing a shape?

Lesson activity

Using a blank Kidbots grid, students should try to move the bot a particular shape. For example:

Move the object in the shape of a square that is 3 squares by 3 squares.

Move the object in the shape of a rectangle that is 5 squares by 2 squares.

Other challenges

Are there other ways we could have programmed the "Bot" to draw the square? Discuss the programming options and test each one. Possible answers could include doing the square backwards, or going over a line more than once.

Students can also be challenged to mark out other simple geometric shapes.

Lesson reflection

Who are the students who can visualise what needs to be programmed?

# data[].attributes.attachment_link.description
Using the same structure and resources as the Rescue Mission lesson, we can integrate geometry with Kidbots. How could thinking about programming help us to understand the features of a shape? Why is it important to get the sequence right when drawing a shape?

# data[].attributes.body
Sequencing
Trouble shooting
Algorithms
Students work on writing precise instructions and work to translate instructions into symbols.

# data[].attributes.attachment_link.readable_text
Overview

This unplugged lesson brings together teams with a simple task: get the "flurb" to the fruit. Students will practice writing precise instructions as they work to translate instructions into the symbols provided. If problems arise in the code, students should also work together to recognize bugs and build solutions.

Purpose

The bridge from algorithms to programming can be a short one if students understand the difference between planning out a sequence and encoding that sequence into the appropriate language. This activity will help students gain experience reading and writing in shorthand code.

Agenda

Warm Up (5 min)

Activity (40 min)

Wrap Up (8 min)

Extended Learning

Objectives

Students will be able to:

Translate an algorithm into a program

Decode and run a program created by someone else

Identify and address bugs or errors in sequenced instructions

Preparation

Print one Happy Map Cards - Worksheet and one Happy Map Game Pieces - Manipulatives per group of 2-3.

Make sure each 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

For the Students

Vocabulary

Algorithm - A list of steps to finish a task.

Debugging - Finding and fixing problems in an algorithm or program.

Program - An algorithm that has been coded into something that can be run by a machine.

Warm Up (5 min)

Step-by-Step

This warm-up is meant to get the class thinking about how to break a big problem down into a list of individual steps.

Model: Start by asking the class for step-by-step directions on how to get to the chalkboard. Make sure that you ask students to break apart any large instructions, like "Walk to the chalkboard," into smaller instructions like "Step forward."

When you reach the board, ask for instructions to draw a smiley face and try to get them to keep their instructions equally small.

Teaching Tip

Say: Well done! You just gave me a list of steps to finish a task. In computer science, that's called an Algorithm! [Follow up with your typical method of introducing vocabulary: word wall, repeat-after-me, etc.]

Activity (40 min)

Happy Maps Programming

In this exercise, the class will get map cards that have a pre-defined start space (Flurb) and end space (fruit). Students will need to get the Flurbs to the fruit on each card, using the arrows provided.

Model: Select one of the intermediate maps from the Happy Maps Cards worksheet (e.g., #3). Display it for the class and work through the puzzle together.

Have students look at the puzzle, then think-pair-share their solution for how they would get the Flurb to the fruit.

Think: This Flurb needs to take two steps to get to the fruit. Work with your elbow partner to decide what you think those two steps are.

Pair: Have students discuss with neighbors for about 90 seconds.

Share: Ask a few students to describe their algorithm to the class. Move your finger along the displayed map as the students read their steps. Once you have a solution, ask if anyone else came up with a different idea that also works.

Now, share with the students that the magic step of changing an algorithm into a "program" happens when the code is written down using symbols. Do the students see any symbols on the display?

Think: Challenge students to encode the algorithm that they came up with before into symbols, and to write those symbols down in their journals (or on a piece of paper.)

Pair: Once students have written down their symbols, ask them to swap with a partner to see if they can follow each others' instructions.

Share: Ask for volunteers to come draw their arrows on the board. If the original code doesn't work, spend some time debugging as a class. Students should be familiar with the idea of "debugging" from previous lessons, so be sure to use the vocabulary to get them comfortable with it.

Once the code has been successfully written on the board, congratulate the class on writing their first program together!

Students' Turn

Group: If your class is comfortable, place students into small groups of 2-3. Otherwise, you can continue solving these problems as a class and having them think-pair-share to write programs.

Distribute: Pass out one of the images from the Happy Map Cards - Worksheet to each group as needed.
(Optional) If you start noticing that students are ready for more, use the provided Happy Map Game Pieces - Manipulatives and let students choose their own start and finish destinations on the blank map.

Encourage the students to follow these steps:

Discuss an algorithm to get the Flurb to the fruit.

Encode the algorithm into arrows in their journals.

Try their code to see if everything works as expected.

Debug any issues and fix their code until it works correctly.

Share: When the lesson is done, offer to let groups share out the most difficult maps that they solved. If you had time, ask them to share their solutions as well.

Wrap Up (8 min)

Flash Chat

Discuss: When it's time to wind down, ask students if they can tell the difference between an algorithm and a program. Both are a list of steps, but a program (code) has been encoded in a way that can be run by a machine (or a kindergartener!)

Do you think that someone who speaks another language would be able to run your program?

Why or why not?

Journaling

Students should be encouraged to capture their thoughts in their journal after each activity (with text or images.) Choose a journal prompt that will help students remember the purpose of this exercise.

Journal Prompts:
Stuffie Maps

What was today's lesson about?

Draw one of the Feeling Faces - Emotion Images that shows how you felt about today's lesson in the corner of your journal page.

Can you draw your own Flurb map?

What would the code be to solve your map?

Create Your Own
Extended Learning

Use these activities to enhance student learning. They can be used as outside of class activities or other enrichment.

Create a life-size grid on the rug with tape and have student bring stuffed animals to school.

Now students can program friends to move their actual stuffies as directed in the programs.

Have students create their own maps.

Have other students solve them using programs.

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

K.L.6 - Use words and phrases acquired through conversations, reading and being read to, and responding to texts.

SL - Speaking & Listening

K.SL.1 - Participate in collaborative conversations with diverse partners about kindergarten topics and texts with peers and adults in small and larger groups.

K.SL.2 - Confirm understanding of a text read aloud or information presented orally or through other media by asking and answering questions about key details and requesting clarification if something is not understood.

K.SL.5 - Add drawings or other visual displays to descriptions as desired to provide additional detail.

Common Core Math Standards

G - Geometry

K.G.1 - Describe objects in the environment using names of shapes, and describe the relative positions of these objects using terms such as above, below, beside, in front of, behind, and next to.

MP - Math Practices

MP.1 - Make sense of problems and persevere in solving them

MP.2 - Reason abstractly and quantitatively

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

K-2-ETS1-1 - Ask questions, make observations, and gather information about a situation people want to change to define a simple problem that can be solved through the development of a new or improved object or tool.

K-2-ETS1-2 - Develop a simple sketch, drawing, or physical model to illustrate how the shape of an object helps it function as needed to solve a given problem.

# data[].attributes.attachment_link.description
This unplugged lesson brings together teams with a simple task: get the "flurb" to the fruit. Students will practice writing precise instructions as they work to translate instructions into the symbols provided. If problems arise in the code, students should also work together to recognize bugs and build solutions.

# data[].attributes.body
Student groups create their own cards (steps) for a fitness app which is presented to and tested by the class. Minimal supplies needed (white boards and a hula hoop) and seems like it would be very effective at reinforcing algorithmic thinking, sequencing, and decomposing.

# data[].attributes.attachment_link.readable_text
Printables

Classroom resources

Learning outcomes

Students will be able to:

Key questions

Who designs programming languages for computers?

Lesson starter

Notes on resources

The resources we listed are for groups of 3 students.

Today we are going to write our own unplugged fitness app. Before we start we need to design a programming language so that we know what to do.

Lesson activities

1. Brainstorm as a class all the different fitness exercises you could have in your programming language.

Ideas to get you started include:

Running on the spot

Star jumps

Ski jumps

Catching bean bags

2. Work in your groups and draw on each of the cards. You should design:

A "GO" card to show the start of the program

4 cards, each with a different exercise depicted on it

A card that depicts how you should finish. Ideas could be:

Strike a pose

Sit with your arms crossed

Stand as straight as you can

3. Now place your cards in a row with the GO card first, then with each picture and how you should finish last. (There should be no numbers to indicate how many times you should do the exercise - that will come later.)

4. Each group goes around and tries to work out what each of the cards mean from the other groups.

5. Come together and discuss what was the same, and for which cards you had to "learn" because you weren't sure what it was.

6. This is the same with computer programming languages. You can learn to program with different languages, and some things seem similar in a new language, while other things you have to learn as it isn't clear how to use a particular command.

7. Now put out 6 whiteboards and the hula hoop like this:

8. Have one group put their Go card on the first whiteboard

9. Now have them put their exercises cards out on the whiteboards shown. Explain that whatever is in the hula hoop will be repeated (it's a loop!)

10. We need to set the parameters. A parameter tells us how long to do something or how many times to do something. Here we know to Go, To do star jumps (but not how many), to do ski jumps (but not how many), to catch a bean bag (but not how many) and that we should repeat the ski jumps and catch a bean bag, (but not how many times).

11. With your whiteboard pens, write in the number of times each exercise should be done. (Encourage the students to choose realistic numbers; the number on the hula hoop multiplies the ones inside.) For the exercises in the hula hoop, you need to repeat both of them how many times? (In the example, the sequence of 10 ski jumps and 5 catches is repeated 3 times, so it would be 10 ski, 5 catch, 10 ski, 5 catch, 10 ski, 5 catch).

12. The last piece of programming is to show how we will end when we have finished our fitness app workout.

13. Now we have built up our fitness app, it's time to test it. The Programmer watches to see if everyone is doing it correctly. The Tester is looking for if there are any numbers to change or if the activities need further instructions. When the Tester says "Go" start following your fitness app.

14. The Programmer asks the Tester if they saw anything they thought could be changed or improved.

Applying what we have just learnt

Getting the sequence right for programming is very important. If any detail is missing then your program won't run how you expected it. A loop in programming is when you repeat the instructions inside of it, until a certain condition is met (in this case each exercise is completed a certain number of times). A loop can get a lot of instructions to happen with a relatively short program.

Lesson reflection

Discuss all the areas where you needed to collaborate together. What skills did you need to apply when discussing what should be programmed.

Do you think this is a way you could set up fitness for your class?

Do you have ideas for writing different fitness programs this way?

Throughout the lessons there are links to computational thinking. Below we've noted some general links that apply to this content.

Teaching computational thinking through CSUnplugged activities supports students to learn how to describe a problem, identify what are the important details they need to solve this problem, and break it down into small, logical steps so that they can then create a process which solves the problem, and then evaluate this process. These skills are transferable to any other curriculum area, but are particularly relevant to developing digital systems and solving problems using the capabilities of computers.

These Computational Thinking concepts are all connected to each other and support each other, but it's important to note that not all aspects of Computational Thinking happen in every unit or lesson. We've highlighted the important connections for you to observe your students in action. For more background information on what our definition of Computational Thinking is see our notes about computational thinking.

Many of the Computational Thinking connections in this lesson are the same as for lesson 1 and 2, so we have just included the additional ones specific to this lesson.

Abstraction

The symbols on the cards represented the physical actions students needed to perform; they were an abstract representation.

Abstraction was also used to simplify things when the hula hoop was used as a loop.

Examples of what you could look for:

Were the students able to work with the symbols?

# data[].attributes.attachment_link.description
Learning outcomes Students will be able to: Who designs programming languages for computers? Notes on resources The resources we listed are for groups of 3 students. Today we are going to write our own unplugged fitness app. Before we start we need to design a programming language so that we know what to do.

# data[].attributes.body
Lesson as is integrates the following CS concept: Algorithms and Sequencing (see below)
Lesson could be adopted a step further: students could fly the paper airplanes, and record their lengths on line plots. This element would incorporate the CS concept: Data and Analysis. In addition, this extension would integrate well with third grade mathematics, specifically 3.MD.B.4

# data[].attributes.attachment_link.readable_text
Lesson Overview

In this lesson, students will relate the concept of algorithms back to everyday real-life activities by making paper airplanes. The goal here is to start building the skills to translate real-world situations to online scenarios and vice versa.

Lesson Objectives

Students will:

Name various activities that make up their day

Decompose large activities into a series of smaller events

Arrange sequential events into their logical order

Materials, Resources and Prep

For the Student

For the Teacher

Getting Started (15 min)

1) Review

This is a great time to review the last lesson that you went through with your class. We suggest you alternate between asking questions of the whole class and having students talk about their answers in small groups.

Here are some questions that you can ask in review:

What did we do last time?

What do you wish we had had a chance to do?

Did you think of any questions after the lesson that you want to ask?

What was your favorite part of the last lesson?

2) Vocabulary

This lesson has one vocabulary word that is important to review:

Algorithm - Say it with me: Al-go-ri-thm
A list of steps that you can follow to finish a task

3) What We Do Daily

Ask your students what they did to get ready for school this morning.

Write their answers on the board.

If possible, put numbers next to their responses to indicate the order that they happen.

If students give responses out of order, have them help you put them in some kind of logical order.

Point out places where order matters and places where it doesn't.

Introduce students to the idea that it is possible to create algorithms for the things that we do everyday.
Give them a couple of examples, such as making breakfast, brushing teeth, and planting a flower.

Let's try doing this with a new and fun activity, like making paper airplanes!

Activity: (20 min)

You can use algorithms to help describe things that people do every day. In this activity, we will create an algorithm to help each other fold a paper airplane.

Directions:

1. Cut out the steps for making a paper airplane provided worksheet.

2. Work together to choose the six correct steps from the nine total options.

3. Glue the six correct steps, in order, onto a separate piece of paper.

4. Trade the finished algorithm with another person or group and let them use it to make their plane!

5. If you are concerned about injury when your students begin flying their paper airplanes, we recommend having them blunt the tip of the plane by either folding it inward or ripping it off and covering the ripped edges with tape.

Wrap-up (5 min)

5) Flash Chat: What did we learn?

How many of you were able to follow your classmates' algorithms to make your airplanes?

Did the exercise leave anything out?

What would you have added to make the algorithm even better?

What if the algorithm had been only one step: "Fold a Paper Airplane"?

Would it have been easier or harder?

What if it were forty steps?

What was your favorite part about that activity?

Assessment (15 min)

Hand out the worksheet titled "Daily Algorithms" and allow students to complete the activity independently after the instructions have been well explained.

This should feel familiar, thanks to the previous activities.

Extended Learning

Use these activities to enhance student learning. They can be used as outside of class activities or other enrichment.

Go Figure

Break the class up into teams.

Have each team come up with several steps that they can think of to complete a task.

Gather teams back together into one big group and have one team share their steps, without letting anyone know what the activity was that they had chosen.

Allow the rest of the class to try to guess what activity the algorithm is for.

Connections and Background Information

ISTE Standards (formerly NETS)

1.a - Apply existing knowledge to generate new ideas, products, or processes

1.c - Use models and simulation to explore complex systems and issues.

2.b - Communicate information and ideas effectively to multiple audiences using a variety of media and formats.

2.d - Contribute to project teams to produce original works or solve problems.

4.b - Plan and manage activities to develop a solution or complete a project.

6.a - Understand and use technology systems.

CSTA K-12 Computer Science Standards

CT.L1:3-03. Understand how to arrange information into useful order without using a computer.

CT.L1:6-01. Understand and use the basic steps in algorithmic problem-solving.

CT.L1:6-02. Develop a simple understanding of an algorithm using computer-free exercise.

CT.L1:6-05. Make a list of sub-problems to consider while addressing a larger problem.

CPP.L1:3-04. Construct a set of statements to be acted out to accomplish a simple task.

CPP.L1:6-05. Construct a program as a set of step-by-step instructions to be acted out (e.g., make a peanut butter and jelly sandwich activity).

CT.L2-03. Define an algorithm as a sequence of instructions that can be processed by a computer.

CT.L2-06. Describe and analyze a sequence of instructions being followed.

NGSS Science and Engineering Practices

K-2-PS3-2. Use tools and materials provided to design and build a device that solves a specific problem or a solution to a specific problem.
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.

Common Core Mathematical Practices

1. Make sense of problems and persevere in solving them.

2. Reason abstractly and quantitatively.

3. Construct viable arguments and critique the reasoning of others

6. Attend to precision.

7. Look for and make use of structure.

8. Look for and express regularity in repeated reasoning.

Common Core Math Standards

1.G.1 - Distinguish between defining attributes versus non-defining attributes; build and draw shapes to possess defining attributes.

2.G.3 - Partition circles and rectangles into two, three, or four equal shares, describe the shares using the words halves, thirds, half of, a third of, etc., and describe the whole as two halves, three thirds, four fourths.

Common Core Language Arts

SL.1.1 - Participate in collaborative conversations with diverse partners about grade 1 topics and texts with peers and adults in small and larger groups.

SL.1.2 - Ask and answer questions about key details in a text read aloud or information presented orally or through other media.

L.1.6 - Use words and phrases acquired through conversations, reading and being read to, and responding to texts, including using frequently occurring conjunctions to signal simple relationships.

SL.2.1 - Participate in collaborative conversations with diverse partners about grade 2 topics and texts with peers and adults in small and larger groups.

SL.2.2 - Recount or describe key ideas or details from a text read aloud or information presented orally or through other media.

L.2.6 - Use words and phrases acquired through conversations, reading and being read to, and responding to texts, including using adjectives and adverbs to describe.

SL.3.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.

SL.3.3 - Ask and answer questions about information from a speaker, offering appropriate elaboration and detail.

L.3.6 - Acquire and use accurately grade-appropriate conversational, general academic, and domain-specific words and phrases, including those that signal spatial and temporal relationships.

# data[].attributes.attachment_link.description
In this lesson, students will relate the concept of algorithms back to everyday real-life activities by making paper airplanes. The goal here is to start building the skills to translate real-world situations to online scenarios and vice versa.

# data[].attributes.body
Code Bee-Bot online.  Several Mat Options.

# data[].attributes.body
San Francisco Blue Level Workbook

# data[].attributes.body
San Francisco Green Level Workbook

# data[].attributes.attachment_link.title
[ENGLISH] [Green] (Summer 2019 revision)

# data[].attributes.body
Variety of curriculum lessons that can be integrated into the subject areas.

# data[].attributes.attachment_link.title
Coding Courses & Computer Science Curriculum - CS First

# data[].attributes.attachment_link.description
Find coding courses and computer science lessons to use with your students. All of the materials in the computer science curriculum are free and easy to use.

# data[].attributes.body
Dialoue = https://csfirst.withgoogle.com/c/cs-first/en/dialogue/overview.html
Figurative Language = https://csfirst.withgoogle.com/c/cs-first/en/figurative-language/overview.html
Storytelling = https://csfirst.withgoogle.com/c/cs-first/en/storytelling/overview.html

# data[].attributes.attachment_link.readable_text
In this introductory lesson, students build on one another's discoveries to articulate the functions of each button and switch on a Bee-Bot. Students then apply this knowledge to program a dance or game for their group-mates to actively engage with.

# data[].attributes.attachment_link.title
K-2 Computer Science Curriculum - 7 - How Does a Bee-Bot Work?

# data[].attributes.attachment_link.description
In this introductory lesson, students build on one another's discoveries to articulate the functions of each button and switch on a Bee-Bot. Students then apply this knowledge to program a dance or game for their group-mates to actively engage with.

# data[].attributes.headline
Suppliment Great Body Shop Lessons with Healthy Screen Time Choices

# data[].attributes.subject
Suppliment Great Body Shop Lessons with Healthy Screen Time Choices

# data[].attributes.body
Screen Time

# data[].attributes.attachment_link.title
The Health Effects of Screen Time | Common Sense Education

# data[].attributes.attachment_link.description
Can screen time be bad for us? Check out The Health Effects of Screen Time, a free digital citizenship lesson plan from Common Sense Education, to get your grade 12 students thinking critically and using technology responsibly to learn, create, and participate.

# data[].attributes.headline
San Francisco - Scratch based curriculum for 3 -5.  

# data[].attributes.subject
San Francisco - Scratch based curriculum for 3 -5.  

# data[].attributes.attachment_link.description
SFUSD's creative computing curriculum introduces computer science as a creative, collaborative, and engaging discipline to children in third through fifth grade. Across 12-20 lessons at each grade level, students will learn about algorithms and programming, computing systems, the Internet, and

# data[].attributes.body
Good visuals for learning coding skills.

# data[].attributes.body
Common Sense Media Crosswalk which shows the essential question for each lesson. Additionally, if teachers are familiar with the older Common Sense Media lessons, a correlation exists

# data[].attributes.body
Students: Using a paper grid, design a town with hazards for first responders. Then code a solution to navigate around the hazards to reach the family in need of help.
Teachers: Note: Scroll down in the file to get to this activity.