CS For Social Good in Middle School
The mission statement of the school I teach at is “…to educate girls and young women to become bold, authentic, and intellectually vibrant changemakers.” And let me tell you, I have never met a group of young women so actively involved in their communities, vocal about the injustices they see, or so willing to jump in asking for change. Inspired by my students, research proposing that meaningful work could help close the gender gap in tech, and my hope that students might see themselves in their work, I revamped my sixth grade curriculum to be framed around computer science for social good. Here’s my lesson plan for day 1 of class:
- Icebreaker. I like to ask for the origin story of their name. I first experienced this at a CSTA Conference workshop presented by CS4All (my apologies if I’m remembering the presenters incorrectly). It’s really moving to hear the stories the students share about family members they’re named after or the story around their birth. I’ve found it to be an impactful opening question, plus it helps me remember their names.
- Sentence Starters. Next, I ask students to complete the following two sentences:
- “With Computer Science I can….”
- “I enjoy Computer Science because…”
Since this is my second year with these students they already know what computer science is and have some experience to draw on. Students who are new to the school don’t usually struggle to answer, but you may find it helpful to discuss what computer science is first. (Check out my post for some recommended introductory unplugged activities.) As we discuss their answers, I encourage students to add what their classmates say to their answers if it resonates with them. I also take note of anything that might be helpful as we look at computer science for social good.
- Technology that changes the world. Now, we start to move towards how technology can help people. I show two videos and we discuss:
- Have you ever told a story and had trouble conveying what it really was like to be there?
- Video: VR Journalism
- Discussion Questions: Who could this help? What problems could it address?
- Have you ever sent a text message and someone didn’t understand what you meant?
- Video: Teaching Machines to Feel
- Discussion Questions: Who could this help? What problems could it address?
- Have you ever told a story and had trouble conveying what it really was like to be there?
- Who can you help with computer science? Turning it back to the students, I ask them to write down who they might help with computer science. When it is time to share, I continue to add to our list of who we might help until we have a board full of potential communities. Often these include some awesome ideas for robotics projects, but I try to keep it general at this point.
- Who do you want to help? Finally, I have students choose five communities from our list that they’d like to help. This is what I use to form the groups for our projects throughout the year. We do three projects: a public service announcement to review our skills on Scratch, a Hummingbird robotics project, and a game design project. The students get a different group for each project, but I pair them up based on common interests as shown on their index card. I also try to keep in mind which projects might naturally lend themselves to our robotics unit and assign accordingly.
- Vision board. To maintain our focus throughout the year, I allow students to choose one of their sentence starters from this lesson to feature. Then, I take a picture of them with their answer to display on a bulletin board with other changemakers in the computer science field. Taking a page from Dan Schneider’s blog, I want my students to see themselves as changemakers.
- Resources for Posters:
- Nevertheless STEM Role Models (comes in multiple languages!)
- #CSinSF Posters celebrate changemakers of many different cultures
- Resources for Posters:
Check back soon for what these projects look like!