Teaching coding club has been an unexpectedly rewarding experience. The kids are really into it, my role has been less terrifying than I thought it would be, and the available educational materials are quite good. Walking into my old elementary school, which my kids now attend, is quite a trip too.
Like coding, teaching is hard to do well. I’m still very much a newbie. For lack of a structured opportunity to learn, I’ve always cobbled bits together from what others have passed along. In that spirit, here are some of my lessons from the past two weeks.
What’s going well
ScratchJr is a great place for younger kids to start. After watching a 4 minute YouTube introduction, they understood the interface well-enough to start. In the first week’s session, they started with the drive across the city and run a race challenges. After they successfully completed those, I handed out ScratchJr Coding Cards to each table. In the second week’s session, moving a frog up the stairs with a loop turned out to be much more of a challenge than I had anticipated. Afterwards, they created their own challenge for a neighbor.
Intentional design decisions are a point of leverage. Each kid sits in a table of three. If they have a question, they have to ask one of their table mates before flagging a helper. This approach reduces burden on the helpers, gets them an answer quicker, and creates an opportunity for kids to be a teacher too. Additionally, we intentionally limited the club to 15 students from kindergarten through second grade, which is very manageable.
What’s could be improved
Even though I plan a few days ahead, I still feel like I’m flying by the seat of my pants. For next week’s session (the third in the series), we’re moving on from ScratchJr to code.org. However, instead of starting at the beginning of the curriculum, I picked out a lesson based on where I think the kids are at. Will it blend? We’ll see!
I would love to have access to a library of engaging “what is coding?” videos. At the beginning of each session, I spend 10-20 minutes introducing core concepts: languages, algorithms, loops, functions, etc. To help reinforce the idea, I try to tie it to a real-world example. However, I’d much prefer to show a hip, entertaining 3-5 minute video — the SchoolHouse Rock version of “what is a function?”.