This week was the last enrichment class for my group of fifth graders. As I reported in the last installment, the syllabus ended up changing a bit to adapt for the unexpected difficulty of some of the concepts. Variables in particular were difficult, but eventually the students started to understand them pretty well.
This week built on variables to teach the concepts of conditionals and loops, using the if and while statements in Python. It was at this point that I could tell that most of the students had really grasped the concept. One of our exercises was to follow the logic of a simple counting/printing loop. The kids seemed to like putting themselves in the role of the computer.
It was also at this point that the kids started to understand the power of booleans (True and False). We tried a number of additional comparisons to understand cases where conditions evaluated to each. The emphasis on True and False paid off in the section where we discussed conditionals and loops because we could pay more attention to the actual branching operation, as opposed to getting stuck on figuring out why the branch happened.
This week I also discovered what I think was a good way to increase the idea of collaboration in the class. Obviously there wasn’t time to check every child’s work at every step of the way. But I could make things easier and less pressured on the kids by rotating a “look and see” duty around the class.
Since the class was relatively small (only six kids), I could have all of them gather around one person’s console to see the results of a program or exercise. We could even figure out what went wrong together in some cases. Hopefully this removed a little of the pressure of having the instructor point out something that was wrong — a friend could point it out and even help fix it.
Of course, it wouldn’t be a last class without some bonus for the kids! Thanks to the fine people at the Fedora Project, I had stickers, temporary tattoos, and buttons for the kids, which they loved. They also got to take their Fedora Live USB keys home, which several of them had been waiting for since the first class.
Speaking of keys, I sent home an information sheet for the parents to go with the keys, so they’d understand what was on it, how to use it, and where to find more information and help. The keys also had two complete electronic books (both CC BY-SA licensed, check them out here and here) included that are specifically aimed at teaching Python to kids, so if the kids want to go further they can. A couple of the students demonstrated really serious aptitude, so I think chances were good the class ignited the imagination of a future computer genius!
I’ve posted the last lesson (and miscellaneous resources) in my fedorapeople space, and as with previous lessons, it’s all licensed as CC BY-SA 3.0 so it can be reused by others. I hope you got something out of reading about the class. I had a great time teaching it and I think the kids enjoyed it too. Thanks again to my employer, Red Hat, for lending me a few hours this month to give back to some kids in my community.