Think Like a Programmer – Cadette
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.
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
Meeting Before Boolean Girl Arrives
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
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?
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.
- Think about both big and small problems!
- Think about local and global problems do computers help solve them?
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
Make sure you have coordinated with Boolean Girl. Boolean Girl instructor(s) will bring the right number of computers, worksheets, and all supplies.
- 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
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
Ask the girls to introduce themselves and share something:
- Favorite movie
- Favorite color
- Best Girl Scout badge they earned
Who knows what we are going to do today?
Review agenda to complete all the activities for the Think Like a Programmer Badge
- First a short review of last meeting
- Put together a computer and identify the four components
- Build a program to help understand computer processing
- Work to define user needs
- Talk about your Take Action Project
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
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
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?
- 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.
- 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.
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.
What the girls need to know:
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)
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.
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.
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"
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!)