None of my Girl Scouts, including my own kids--and especially including me!--have ever been super enthused by the Girl Scout Journeys. Some are definitely better than others, and Will, who's obsessed with earning badges and awards, always completes the three Journeys needed to Summit at every level, but I'm not gonna lie--my favorite thing about the Think Like a Programmer Journey is how fairly quick and straightforward it was.
Technically, you can complete the Think Like a Programmer Journey without touching a computer, as its focus is on teaching the process of computational thinking that programmers use, not on actually, literally programming. But incorporating actual, literal programming made the Journey a LOT more interesting to the kids, and added additional STEM enrichment into our school days.
As the intro to the Journey, we watched this Code.org video about how computers organize, process, and represent information:
We discussed a couple of ideas related to this video: 1) the importance of programming solutions that are workable and understandable to the user (not just the programmer), and 2) computational thinking as a method of problem-solving that breaks down problems to manageable bits and works towards solutions that are beneficial to the user--not just the programmer!
These ideas are applicable to Girl Scouts in a lot of ways, particularly in the ways that we try to be of service. Because Girl Scouts often requires Girl Scouts to create and enact service projects in order to earn awards--or even badges, sometimes!--it can be VERY tempting to get some of these service projects done in ways that are expedient for the Girl Scouts, and not necessarily in ways that best serve the beneficiaries. It never hurts, then, to have a reminder that the beneficiaries of our projects are the ones who need to be able to understand and work with our solutions--and in a real way, not just the kind of surface level that could earn a kid a Journey but that we all know good and well isn't going to result in any kind of lasting change for the better.
To that end, the kids started a working doc in which they practiced coming up with needs/problems and proposed solutions for various user groups. They worked in the document periodically throughout this Journey, and if you read down their lists you can actually see them begin to be more thoughtful and detailed, and to think more deeply and specifically about the real needs and problems of their user groups.
I'd actually anticipated that something on this list would eventually inspire their TAP, but nope! If only life/Girl Scouts was that easy!
On another day, the kids and I explored how language choice affects the value of a solution. Fortunately, I've been telling the kids for their entire lives (usually after they've smugly corrected someone's grammar, but sometimes right before I correct their own grammar, ahem) that "effective communication is good communication." In other words, if you get your point across, that's good communication, whether you've gotten your point across using invented spelling because you're newly literate or lots of gestures combined with a very limited vocabulary because you're in Quebec trying out your Parisian French 101 on a French-Canadian hotel clerk.
The point is that a programmer is in charge of figuring out the most effective way to organize and represent knowledge and information, and any method of effective communication is fair game.
To practice this, the kids tried out the Representing the Alphabet Activity for the CSA Think Like a Programmer Journey in the Volunteer Toolkit.
I wouldn't usually do all this printing and cutting for a single activity, and I did think about trying to substitute LEGOs, but whatever:
The Kano kit is a super fun walk-through of assembling the parts of a computer, then setting it up. It's got Raspberry Pi to support more sophisticated programming activities, or a variety of add-ons that you could purchase to give a younger kid different coding experiences.
|Click here for the complete Robot Slide Deck.