Now that I’ve had a little while to collect my thoughts, I thought it would be interesting to distill what I learned from teaching a six-week unit on computer science to sixth graders. I should start out by saying that I did this under ideal circumstances – I made my own curriculum (okay, a mixed blessing), I had a small class (the class was divided into two 30 minute sessions with 10 students in each!), and most importantly, I had an experienced and talented teacher with me in the classroom at all times. I also had an exceptional group of kids to teach – they were motivated and well behaved almost the entire time.
My first lesson: there are not a lot of great resources for teaching computer science at this level. I spent a great deal of time over the summer planning for this class. I could find no lesson plan for a a full class, and only a few usable sources for lessons. I did find many that were out of date, or that covered skills I was uninterested in (e.g. specific software for word-processing and spreadsheets). That said, there were a few resources that were great, and I could use as a starting point for my own lesson. Computer Science Unplugged was one site I drew from on multiple occasions.
My second lesson: the kids were seldom at the level I thought they would be at. In my original plan, I scheduled a “boot camp,” when the students would get their new logins and get some training with some basic tools such as Google Apps. I thought this would take much longer than it did – they students were very fast to learn the new tools. I planned to spend a week on digital citizenship issues. The students were behind the level I expected here, though. Almost none of the sixth graders were using social media, which completely torpedoed many of my examples. I axed a great deal of this lesson, and plan on introducing it in a later grade.
My third lesson: any time I could get something physical in the students’ hands, their interest immediately shot up. This was no surprise – all the teachers I talked to just nodded when I mentioned it. This did nudge me to change a number of my plans on the fly. For example, to practice decoding decimal numbers to binary, I brought in dice. The students rolled, then converted. They loved the exercise, as opposed to the worksheet I might have otherwise used. I also had an exercise where the students acted as routers, and passed a message cut into paper “packets” to a teacher “computer” in the rear of the room. The students ate it up, and wanted to do it again the next day.
My fourth lesson: I didn’t spend enough time on hardware. The students were surprising unfamiliar with computers, in spite of carrying one around with them every day. I hurried a bit through this lesson because I was worried about running out of time. In retrospect, and particularly after seeing the exam results, the students did not grasp some of the specifics as well as I would have liked. If I get the chance to do this again, I will probably try to create some simulations using students as computer components, or something like that. I’d also like them to have to build a computer. I did have them look inside and identify the parts, but it’s just not the same.Had I spent more time on this unit, I might also have covered troubleshooting in more depth, which would definitely been useful.
Fifth: computer science doesn’t have to be about programming. I didn’t cover it at all, in fact, because I couldn’t find a way to introduce it that I was comfortable with. I think it’s very important, and I will definitely find a way to expose the kids to programming down the road.
Overall, I thought the class went very well. I had good feedback from the students, many of whom were disappointed to learn it was over after six weeks. I also had great feedback from a couple parents, who described their children teaching them about binary numbers. I can definitely improve the class in the future, although I think any class I design will have to be flexible. I suspect each group will have a very different dynamic – I know many sixth grade classes, for example, will already be very involved in social media, which will necessitate a more in-depth digital citizenship unit and may enable other communication modes.
I also think I could move some units, such as cryptography, into other places. Some of these might integrate well with lessons in history, language, or art. I’m looking forward to finding ways to sneak into other classrooms for quick lessons! And, I’d really like to find some good game-based education to use, such as Nova Labs’ Cybersecurity Lab game.