Think Like a Programmer – Junior

Overview

 

The Junior Think Like a Programmer Journey is focused on Computational Thinking and Algorithms.  This project set uses some offline and online activities to complete the Journey. For the online Activities we use a programming in a language called Scratch that many girls may have used in school.

The activities in this course help girls understand creating algorithms, using variables, conditional statements and using basic computing constructs: variables and conditionals.   On this Journey, Juniors will do hands-on activities to ...

  1. Create an algorithm to explain how to do something
  2. Do the Code.org/Girl Scout functional Suncatcher activity to understand how variables work  

--------------------------------------------------------------------

  1. Play a game to learn about Conditionals 
  2. Use variables in a story 
  3. Write a program using conditionals and variables that takes user input and makes a custom ordered coffee or sandwich.
  4. Prepare for a Take Action Project 

--------------------------------------------------------------------

  1. Complete a Take Action Project 

Items 1 and 2 are completed at a meeting before Boolean Girl arrives.  Instructions for these activities are provided below. Activity 7 is completed by the troop in follow on meetings.

Completing these activities not only helps girls earn their journey badge, it helps them understand how a computer works to complete the learning objectives from the Computer Science Teachers Association, see below.   While more practice is required to achieve all the recommendations for a fifth grader, this short Boolean Girl Scout activity plan introduces key concepts and empowers the girls to pursue additional learning through camps, clubs or online using resources like Boolean University.

Why Scratch?


Scratch is a powerful language that is easy to learn. Teaching a kid a language they are not ready for can do more harm than good. Kids get frustrated with syntax errors and lots of work before they see something happen. This can lead kids to believe they are not good at coding.Invented by MIT, Scratch was developed to teach kids how to code. It is a free, open source programming language so you can use it for free to build stories, games, and animations.   If your troop says they know Scratch, remind them it is taught in schools and used in colleges to introduce coding concepts, check out this video: Top universities teach Scratch

Meeting Before Boolean Girl Arrives

Prepare Ahead

At a meeting before the Boolean Girl team arrives, watch this video and complete this short activity.  Prepare for this activity by watching the video: code.org/girlscouts/FunctionalSuncatchers/DemoVideo
Review the Teacher instructions from code.org for the Functional Sun Catcher. https://code.org/curriculum/course3/4/Teacher

Gather Supplies

For the snacks activity (responsibility of the troop)

  • Bowls or cups
  • Option 1: Various small snacks like crackers, pretzels, marshmallows, chocolate chips, dried fruit, etc. that could go into trail mix.
  • Option 2: Crackers, spreads, and toppings to create cracker bite snacks.
  • Option 3: Celery, spreads, and topping to create Ants on a Log.
  • Paper
  • Pencils

For each functional suncatcher (Ask Boolean Girl for these supplies):

  • One foot of string, thread, or fishing line
  • 2-4 beads
  • 2-4 other accessories (buttons, hoops, spacers)
  • One special bead, prism, button, or girl-made sun charm
  • Functional Suncatcher Worksheets

Download and print the Take Action Project guidance

Arrival Activity: Snack Algorithms

(Note to Volunteers: For this activity, girls will create algorithms for snacks. We’ve provided several options, so please choose one or another alternative that works for your girls’ dietary restrictions.)

Steps

Prior to girls arriving, organize the snacks by type into different bowls/cups.  Welcome Juniors, and have them create an algorithm for their ultimate snack bite.

SAY: What’s your favorite type of snack? What ingredients taste good together?

The ingredients for your snack are in these bowls. Choose the ingredients you like to create your own personal snack.  Then write an algorithm so others can make it, too.

For example, I like to take a cracker (that's step one), put a piece of cheese on it (that's step 2), then top it with a slice of cucumber (that's step three). If you use my algorithm, I guarantee you'll have a tasty snack!

Computer Science Standards

Did you know that  Computer Science Teachers Association, K-12 Computer Science Framework set guidelines for learning computer Science skills and that the state of VA (and other states) have set up standards of learning for every grade?

For Juniors (by the end of 35th grade) girls should be able to:

  • Construct sets of step-by-step instructions (algorithms)
    • using sequencing;
    • using loops;
    • using events;
    • using variables to store and process data;
    • performing number calculations on variables (addition, subtraction, multiplication and division); and
    • using conditionals (if-statements).
  • Analyze, correct, and improve (debug) an algorithm
  • Create a plan as part of the iterative design process, independently and/or collaboratively using strategies such as pair programming (e.g., storyboard, flowchart, pseudo-code, story map.
  • The student will break down (decompose) a larger problem into smaller sub-problems, both independently and collaboratively.
  • The student will give credit to sources when borrowing or changing ideas (e.g., using information, pictures created by others, using music created by others, remixing programming projects).
  •  The student will model how a computing system works including input and output.
  • The student will identify, using accurate terminology, simple hardware and software problems that may occur during use, and apply strategies for solving problems (e.g., rebooting the device, checking for power, checking network availability, closing and reopening an app).

Activity Two : Functional Sun Catcher (Code.Org)

Lesson time: 20 Minutes         Basic lesson time includes activity only. Introductory and Wrap-Up suggestions can be used to delve deeper when time allows.

Background

From Code.org  - https://code.org/curriculum/course3/4/Teacher

In this lesson, students will make a suncatcher out of string, beads, and a special charm. The students will follow a series of repetitive steps, then be asked to identify certain sets of “skills” that are duplicated several times. Once those skills are defined, they will be called from a main program and the whole beautiful process of creation will be recorded on a single sheet of paper. The final program will be geared toward the entire class, whatever their type of string, beads, and charms. To effectively allow for this, students will need to “abstract out” the details of their specific materials and create vague terms for an individual’s supplies. This use of generic placeholders is a wonderful introduction to variables.

Instructions

1.Watch this video https://www.youtube.com/watch?v=d1MdyeXy0v0

Optional: show the sun catcher video: code.org/girlscouts/FunctionalSuncatchers/DemoVideo

2. Follow the Code.org lesson plan below for this activity.  You can download this here: Lesson Plan

See My Suncatcher

Begin by holding up your example suncatcher.

  • Let the class know that we will be making these today.
  • Their materials may be slightly different than yours, but the steps will be pretty much the same.
    • Pointing to your bead, you can tell them that their beads may be shaped differently, or might even be a different color, but you will use the word “bead” to mean whatever it is that they ended up with.
    • Similarly, their spacers may be a different size, different texture, or maybe a different material altogether, but you will use the word “spacer” to refer to those things.
    • Finally, we will all have a “special charm.” It could be a large bead, a handmade ornament, or even a random item from the room, but in all cases, we will just call it a “special charm.”
    • As you share those terms, feel free to write the associated words on the board. If you want to set them equal to the items you discussed, that works well, also.

Example:

Bead = “Whatever style, color, or kind of bead that you have been given”

Spacer = “A long item that is not a bead”

Special Charm = “The crystal prism, or large glass sphere”

Now you can move in to discussing how you made your sparkling piece of art.

Making a Functional Suncatcher

Steps:

1) Explain to the class how the suncatcher is made.

  • "First, I put a bead on the string, then I tied a knot. I put another bead on a string, and tied another knot. Then, I put a spacer on the string and tied another knot. After that, I did it all again. I put a bead on the string, then I tied a knot. I put another bead on a string, and tied another knot. Then, I put a spacer on the string and tied another knot. Finally, I put on the special charm, and tied one last knot."

2) Acknowledge that the routine takes quite a few steps, so you will provide them a sing-songy way to remember the order.

  • "Bead, knot, bead, knot, spacer, knot.
    (It helps to have a bit of a rhythm with the words as you go through.)
    Bead, knot, bead, knot, spacer, knot.
    Special charm, final knot.”

3) Indicate that you’re going to write the steps down to this program, so that everyone has the directions in front of them.

  • Use the provided "Skills Sheet" and begin to write the steps in the "Program" area as the class shouts out instructions. Write one instruction per line.
    • Bead
    • Knot
    • Bead
    • Knot
    • Spacer
    • Knot
  • By now, the class should be noticing an issue.
    • If they don’t, you can lead them to it.
      • How many instructions do we have left to go through?
      • How many lines do we have left?
      • What should we do?

4) Hand out the Skills Sheet to everyone.

  • Point out that there are two “extra” sections where they can combine steps so that you can write one name to call them all.
    • For instance, everything that you put into the top section, you can call all at once by calling “Skill 1”; this is a function.
    • Challenge the class to fill out their sheet in a way that makes sense and allows them to fit the entire sequence under the “Program” list in some way.
    • Give them about five minutes to complete their sheet (more for younger students) then listen to their suggestions.
      • There will likely be groups that need to have the process explained one-on-one.
        • Ask them what they would do if they had to repeat the sequence a thousand times or more.
    • How many different ways did the class fill out the same sheet to make the same suncatcher?

5) Once you have reviewed all of the groups' solutions, hand out supplies to the students.

  • Point out that different people in the class may have different supplies, and they may all be different than the ones you used.
    • Ask if that should stop them from following the program.
      • Why not?
    • We can treat the words (Bead, Spacer, Knot, etc.) as "placeholders" for whatever items we are using that fit those descriptions.
    • These are called variables

6) Let the students get started on their suncatchers!

What did we learn?

  • What items did you use that could have been "variable" from person to person?
  • How important do you think it was to have groups of skills that we could call for this lesson?
  • What if we had done each set of steps 100 times instead of only twice?
  • Can you think of anything else that we could group together once and call easily over and over again?
    • What about the chorus of a song?

Plan for the Take Action Project

Follow the Girl Scout’ guidance on starting the Take action planning process.  Download the excerpt here.


Second Meeting, With Boolean Girl

Prepare Ahead

Make sure Troop leaders have worksheets from prior exercises: Functional Sun Catcher and Snack Instructions.

Make sure you have coordinated with Boolean Girl.  Boolean Girl instructor(s) will bring the right number of computers, worksheets, and all supplies.

Specifically:

  • A Boolean Box Computer kit per girl or pair of girls
  • If game cards or PDF for use with a TV or projector
    (projector or big screen TV if available)
  • Boolean Box set up cards
  • My instructions for coffee (several copies to share in meeting)
  • Coffee Shop instructions.
  • Survey forms, USB drives, What’s next cards

Introductions

Introduce yourself tell the girls about you including things like:

  • College and degree type/ profession
  • Where you grew up
  • Why you are doing this
  • If you were a Girl Scout make sure you share that

Ask the girls to introduce themselves and share something:

  • Favorite movie
  • Favorite color
  • Best Girl Scout badge they earned

Agenda

Who knows what we are going to do today?

Review agenda to complete all the activities for the Think Like a Programmer Badge

  1. First a short review of last meeting
  2. Play one more short game to learn about conditional statements
  3. Build our computers - show the Boolean Box.  Ask if any of the girls have been to a Boolean Girl event / coded before / etc.
  4. Build a program using what we’ve learned about functions, conditionals, algorithms that makes a custom coffee or ice cream sundae.
  5. Talk about your Take Action Project

Review

Review what we did at the last meeting.

Functional SunCatcher Discussion

Did you all finish the Functional Suncatchers?  Does anyone have theirs?

What did you learn in that activity?   Does anyone have their worksheets? The girls should have learned about functions and variables.  Taking the algorithm bead, knot, bead, knot, spacer, knot, bead, knot, bead, knot, spacer, knot, special charm, special knot and used functions to simplify it.  

F1 = bead, knot, bead, knot, spacer, knot,

F2 = special charm, special knot 

Algorithm = F1, F1, F2

The variable part of this activity is that bead, spacer and charm are just placeholders for things the girls choose for their suncatcher.

Review vocabulary

This meeting includes the following vocabulary:

Computational Thinking—the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer—human or machine—can effectively carry out.

Algorithm—a list of steps that you can follow to finish a task.

Program—instructions (or an algorithm) that can be understood and followed by a machine

See the Junior Think Like a Programmer Journey Glossary for more vocabulary and examples


Activity One : Play the If Game

Play the IF game.  Use the projector or cards to play.  If the troop is large and you have multiple instructors break the class into smaller groups.

How the game works.

·       The students are all sprites

·       I’ll show an if statement, if it is true, you have to do it.

How an If command works

•   Read the If statement

•   If it’s TRUE, the next command happens.

•   If it’s FALSE, nothing happens

Start the game

 

Download Links

 

If Game Download


Activity Two : Build the Computer


Pass out the Boolean Box computer kits and explore the contents.

Use the attached PDF file to learn about and build the computer.

Once set up, the computer looks like this.


Activity Three: Create a program with a conditional and variables

Warm up

Last meeting you created instructions (an Algorithm) to make a snack. Let's share some of those.

Here are my instructions for making a coffee:

Pick your cup type (large or Small)

If large, show large cup

If small show small cup

Add the coffee

Ask: Do you want sugar?

If yes, get sugar

Poor into cup

Put sugar away

Add to list of ingredients

Ask: Do you want cream?

If yes, get CREAM

Poor into cup

Put CREAM away in frig

Add to list of ingredients

Ask: Do you want Chocolate?

If yes, get chocolate

Poor into cup

Put chocolate away

Add to list of ingredients

Ask: Do you want Caramel?

If yes, get Caramel

Poor into cup

Put Caramel away

Add to list of ingredients

Ask, Could we create functions to simplify this?
YES - functions for the cup sizes and for each ingredient.

Do we need any conditionals in this set of instructions?
Yes, for each question

Activity

Build the Coffee Shop or get creative and build an Ice Cream Shop

What the girls need to know:
A function is called with the broadcast block. Each function is already created in the sample program. The 6 function calls:

To ask a question, use the Ask block


Use a conditional to evaluate the answer and do something.


Hand out the worksheets. Let the girls know the name of the file to open usually Coffee maker.sb.
Review the starting stack of code. Note the question (ASK) and conditional if answer = S. Ask what comes next?

Ask the girls: This works if you answer S, what happens if you answer L?
Answer: You need code like this:

Let the girls work on this.
Here is one solution:

Download Links

My instructions for making coffee

Coffeeshop program (a Scratch .sb file)

 


Activity Four : Finish the Journey, Your Take Action Project

At this point the troop leaders should rejoin the meeting to start the transition to the last leg of the journey that will occur at future meetings.

Remind the girls, they are not finished yet. According to the Girl Scout guidance, Juniors earn two awards on completing this Journey:
Think Like a Programmer award
Take Action award

However to get the awards you need to complete a Take Action project. Instead of repeating all the guidance provided by the Girl Scouts, what follows are the most critical points and a list of ideas for projects.

“Take Action encourages girls to develop a project that is sustainable. That means that the problem continues to be addressed, even after the project is over. Sustainability simply means coming up with a solution that lasts.”

Ideas for take action project include:
Issue: Some girls think computer science is hard or boring or just for boys.
Solution: Educate and inspire others. Create a Boolean Girl STEM club at your school. Contact Boolean Girl for help with this. Talk to a teacher or parent that might want to lead the club.

Issue: Not all kids have access to computers and people that can help them learn how to code.
Solution: Educate and Inspire others by reaching out to a school that may have many girls from low income families. Make a video or a presentation for the PTA about the importance of after- school learning. Find some useful facts that will help the PTA understand the value of starting a coding club. Here is one to start: By the time they reach sixth grade, middle-income children have spent 6,000 more hours learning than their lower-income peers, primarily due to differences in afterschool and summer learning opportunities. “The 6,000-Hour Learning Gap.” ExpandED Schools. October 30, 2013. https://www.expandedschools.org/policy-documents/6000-hour-learning-gap#sthash.krllApZG.dpbs.
Solution: Educate and inspire others. Create a Boolean Girl STEM club at a neighboring Title One school. Find a sponsor for the club so the participants can join the club for free. Contact Boolean Girl for help with this. Talk to a teacher or parent that might want to lead the club.

Issue: Kids want to learn how to code at home but parents are afraid that they can’t help their kids because they don’t know how to code. Did you know that 72 percent of parents agreed that their child’s better understanding of technology made it difficult for them to help their kids learn.
Solution: Do a Show and Tell for parents that demonstrates how easy it is to code in Scratch.

Issue: Parents are worried about screen time...72 percent of parents reported having taken steps to limit their child’s screen time. Limiting screen time can also mean limiting opportunities to learn useful skills like coding.
Solution: GET CREATIVE, make a video or slideshow that shows how learning to code not only teaches kids to program but it allows them to get creative adding music, animation and story telling to the program they create. Boolean Girl will post the video for you on our site. Get the school to send links to the video to parents at your school.

Issue: Not everyone knows about women who changed the world using their knowledge of computer science.
Solution: Educate and inspire others.Research the “hidden figures” in your community.They might be women who have helped shape history, like those portrayed in the movieHidden Figures. Or you might want to profile computer science teachers who have made a difference by mentoring and encouraging girls. You could create a display about their accomplishments for a library or community center or make a video about them and show it at schoo

Need more ideas?Check outGirls Changing the World on the GSUSA website. Girls post their Take Action andBronze/Silver/Gold Award projects on this site. You can search by project topic or grade level.(And after the troop has done their project, please post it so they can inspire other girls!)