Think Like a Programmer – Cadette

Overview

 

The Cadette - Think Like a Programmer Journey requires three STEM activities:

    • Understanding how a computer works and the four tasks that are common to all computers: input, storage, processing, and output.
    • Explore processing and develop an algorithm that demonstrates processing inputs to produce outputs with stored data.
    • Learn how to identity user needs.  Programmers develop programs for people.  It is critical that the programs meet the needs of users.

In a Boolean Girl workshop we will complete all three of these activities.  The Girl Scout Troop will do some preparation work before meeting with Boolean Girl and will be left to plan and complete their Take Action Project after Boolean Girl at future meetings.

Download this excerpt from the Girl Scouts for help with the Take Action Project.

Introduction

Depending on the age of the girls and experience with programming, individual girls can choose to complete these activities in Scratch, a block based programming language designed to teach kids to code. During the Cadette years, the girls should be moving away from block-based coding to coding in a text based language like Python. For that reason it is appropriate that the girls choose the language that fits them.

Do you think Scratch is really for Brownies and Juniors. Think again. Most high schools use Scratch for introductory coding classes. Some universities also use it. Watch this video for more information. Top universities teach Scratch

The activities in this course help girls understand ...

1. Identify the types of problems computers solve.
--------------------------------------------------------------------
2. Understand how a computer works and identifying the inputs, outputs, processing and storage components on a real computer.
3. Build a program to demonstrate processing
4. Learn to identify user needs
5. Prepare for a Take Action Project
--------------------------------------------------------------------
6. Complete a Take Action Project

Items 1 is completed at a meeting before Boolean Girl arrives. Instructions for these activities are provided below. Activity 6 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 an eighth 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.

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 Cadettes (by the end of 8th grade) girls should be able to:

  • construct programs to accomplish a task as a means of creative expression or scientific exploration using a block based or text based programming language, both independently and collaboratively
    • combining control structures such as if-statements and loops including nested conditionals and loops;
    • using clearly named variables that represent different data types, including numeric and non-numeric data, and perform operations on their values; and [Related SOL: Math 7.1, 7.2]
    • create procedures with parameters.
  • systematically test and refine programs using a range of test cases.
  • explain how effective communication between participants is required for successful collaboration when developing programs.
  • use flowcharts and/or pseudo code to address complex problems as algorithms.
  • use the elements of computing devices such as primary memory, secondary storage, processor, input and output devices, and network connectivity; analyze the advantages and limitations of a given computing system.

Meeting Before Boolean Girl Arrives

Prepare Ahead

At a meeting before the Boolean Girl team arrives, begin the Think Like a Programmer Journey by exploring how computers and programmers solve problems and learning about the Take Action project. Brainstorm issues you’d like to focus on for your Take Action project

Before the meeting, write “Personal Problems,” “Local Problems,” “Global Problems” headings on 3 large papers. Tape (or place) the papers where everyone will be able to add their ideas.

Download and print the Take Action Project guidance

Activity 1: Watch a Video

Watch What Makes a Computer, a Computer URL: https://videos.code.org/cs-discoveries/concept/02_WhatMakesAComputer_sm.mp4

This video presents a computer as a machine that processes information to help with certain kinds of thinking work. It introduces a model of a computer as a machine that inputs, outputs, stores, and processes information. The video also has some great images of early programmers who are women!

Notes to troop leaders

These activities are from the Girl Scout Think Like a Programmer guidance available from your council.   If you have questions about these activities feel free to contact you Boolean Girl coordinator for assistance.

Doing this on your own?

Boolean Girl is still available to answer questions and help via email.  Contact us at girlscouts@booleangirl.org.


Activity 2: What Problems Can Computers Solve?

Explain that we are going to brainstorm to identify problems that a computer can solve.

Ask: who knows what brainstorming is and how a brainstorming session works?

Brainstorming

According to IDEO a global design company that takes a human-centered, design-based approach to help organizations innovate and grow. The rules for running an effective brainstorming session are:

    • Defer judgement.
    • Encourage wild ideas.
    • Build on the ideas of others.
    • Stay focused on the topic.
    • One conversation at a time.
    • Be visual.
    • Go for quantity.

Now that we know the rules, spend a few minutes brainstorming problems computers can help to solve. Invite girls to write down problems computers can help solve by category “Personal Problems,” “Local Problems,” “Global Problems” on the paper posted or on their own paper.
Remind everyone:

    • Think about both big and small problems!
    • Think about local and global problems do computers help solve them?

Discussion

After hearing about the four tasks common to all computers in the video, do you have any new ideas about one of the problems a computer can help you to solve.

Pick one problem and discuss:

    • What the information that is input, stored, processed, and output for that problem?
    • Who is the computer solving the problems for?
    • What kinds of problems do you think are particularly well situated for computer and which require a human?
    • Are there any problems computers can’t help solve? Why?

Today, you used computational thinking, or thinking like a programmer, to solve a problem. How could you use that way of thinking to solve other problems?


Plan for the Take Action Project

Follow the Girl Scout’ guidance on starting the Take action planning process.  Use the guide you download before.


Second Meeting, With Boolean Girl

Prepare Ahead

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

Instructors introduce themselves and 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

Ice Breaker

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. Put together a computer and identify the four components
  3. Build a program to help understand computer processing
  4. Work to define user needs
  5. Talk about your Take Action Project

Review

Review what we did at the last meeting.  Discuss the types of problems computers can address.   Ask if they remember the 4 things a computer does: inputs, outputs, stores, and processes information

Review vocabulary

This meeting includes the following vocabulary:

Algorithm—a precise sequence of instructions for processes that can be executed by a computer.
Computational thinking—the way programmers solve problems. They design and build computer programs to solve specific problems. Computational thinking helps programmers to break down problems and design solutions for others.
Data—information, often displayed as numbers for a computer.
Debugging—finding and fixing problems in your algorithm or program.
Decomposition—when you break a hard problem up into smaller, easier ones.
Input—all the things we do that makes the computer react. For example, when you click on a link, type words, speak into the computer’s microphone, or click to take a photo and video, you are providing input for the computer to process and react to.
Output—output are the computer’s results from any action (input) processed by a computer. How the computer outputs information depends on what the computer was designed to do. Computer displays can show text, photos, videos, games, VR. The output could even include signals to control a robot! When computers connect, the output from one computer becomes the input to the other, and vice versa.
Processing—the work done by a computer to turn an input into an output
Storage—where computers store input and processed data, also known as the computer’s memory.

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


Activity One : 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.

Use a Raspberry Pi out of the case to learn about the parts of the computer specifically where inputs, outputs, processing and storage are.  The PDF provides all the details.


Activity Two: Create a program in Scratch or Python

Warm up

We talked about how computers work.  Can someone tell me the four main functions all computers perform?  Input, Output, Processing and Storage.

Today we are going to build a program that takes input from a person, stores that data, then does some processing on the data and finally outputs a result to the user.

We can write this program in Scratch or Python.  Are you all familiar with Scratch?  How about Python?  Can someone explain the difference between Scratch a block based language and Python a text based language?

Answers:

  • A block based language that is ease to use.  Programs are created by dragging blocks together.
  • Scratch is very fun
  • Block based languages are great for learning how to code.
  • No one codes in block based languages for a living.
  • Kids can code in Scratch and frequently start learning Scratch in Elementary School.
  • High Schools and some colleges use Scratch to introduce students to coding.

Python

  • Is a text based language.  the programmer has to type all the commands to make an Algorithm.
  • Python is frequently used to teach programming in High school and colleges.  Some Middle schools teach Python.
  • Python is one of the top programming languages in the world.  Many applications use Python including You Tube.
  • You can get a job programming in Python.
  • Python was originally created to teach kids to program.
  • Data Scientists use Python to analyze data.

Activity

Build the math helper program to learn about how computer programs used inputs and storage to process information and output results.

This simple program can be written in Scratch or Python.

Download Links

Use these instruction cards during the coding activity in Scratch or Python:
Sample Scratch and Python code.

What the girls need to know:

Instructions for building the program in Scratch are here.

Step one: Create the start-up script. The code that starts the program. It might look like this:

Step two: Ask for input, specifically ask for two numbers and store them. Ask for the math operation to perform. (Add, Subtract, multiply or divide). It might look like this:

Step three: Process the data. Use a several conditional statements to select the desired math operation and do the math.

Step four: Output the result using a say block.

Instructions for building the program in Python are here.

Step One:  In Python we don't need the startup steps so we jump right into the ask and and input section setting each variable to the value input by the user.

numberOne = int(input("tell me a beautiful number "))
numberTwo = int(input("tell me a second beautiful number "))
function = int(input("Do you want to 1) add, 2) subtract, 3)) multiply, or 4) divide the numbers? "))

Step Two: Process the data. Use a several conditional statements to select the desired math operation and do the math.

if function==1:
    print("add")
    results=numberOne+numberTwo
elif function ==2:
    results=numberOne-numberTwo
elif function ==3:
    results=numberOne*numberTwo
elif function==4:
    result=numberOne/numberTwo
else:
    print(function, " was not an option")
    results = "no answer"

Step three: Output the result using a print statement.

print("the answer is", results)

Discussion

Ask the girls to identify how inputs to the program were provided.

How was this input used first?  It was stored in a variable.

What processing occurs?     First the input for the type of math function was used to decide which formula to use.  This was done with a series of conditional statements.   Second, the two numbers that were input were used in the selected formula to produce and answer, an output.

How was the output provided?  The information was displayed on the monitor.


Activity Three: Work in teams to learn about user needs

For this activity, the goal is for Cadettes to develop a realistic set of users’ needs and think through how to design an object for those needs, rather than their own.

Discussion

Start the activity with a discussion.  Ask "If your were going to make this tool for real people would this solution be acceptable?"

No, this would needed to be designed for the needs of the end user.  Break into pairs and work together to complete this activity to define what a user would want in a homework helper tool.

 

Download Links

Use this worksheet for the user needs activity: User Needs Worksheet


Third meeting and beyond

The troop should complete these activities on their own at a series of meetings.

1) Share and discuss the Society of Women Engineers (SWE) pamphlet #Be That Engineer covering careers in engineering.   Copies provided by the instructor at the event.

2) Watch the video "Computer Science is Changing Everything"

3) Watch another video "Inspiring girls to learn STEM in school"

4) Complete Activity four, the Take Action Project

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!)