Another summer, another round of summer camps. For the last three years, I’ve been enjoying teaching a variety of tech camps here in Atlanta. My students are typically 2nd to 7th graders, and I’ve enjoyed teaching week-long camps such as Build Your Own Robot, 3D Design and Printing, and the big favorite, Minecraft Engineering. Just behind the Minecraft camp, however, is the Beginning Game Programming Camp. I’ve now taught it three summers in a row, and it remains popular. Kids love games, and kids like the idea of learning to create their own games. They’ve got to start somewhere, and Scratch programming has consistently proven to be a great tool for introducing programming concepts and thought patterns.
I’ve written previously about the DK workbooks that I use (you can read more about those workbooks here and here and here), and I always make a bunch of other books available as resources. I let the kids take the workbooks home when the camp is finished so they can share it with their parents and siblings. Each summer, I’ve tried to improve on the curriculum, and this past week I got to take some camp upgrades for a test spin.
Last summer was the first time I introduced gamification to the game programming class. Each camper was provided a badge and a small checklist. As they worked through two workbooks and completed games/projects, they would “level up.” These checklists were taped to the whiteboard and provided a bit of incentive and competition to the students as they worked hard to reach Level 10. The problem I encountered was that many students didn’t like the competition part… some older students just moved more quickly through the levels, and the younger students tended to feel a bit overwhelmed. This time around, I instead provided each student with a small booklet and badge and allowed them to move around the nine games/projects and do the ones that interested them instead of a set list of consecutive projects. We took frequent breaks and I introduced them to other subjects related to programming (more on that in a moment).
Below you can see some photos of the badges and booklets. The students enjoyed taking the booklets home and showing their parents the progress they were making. My initials and a big checkmark brought a lot of smiles and I could see the sense of accomplishment each student received as they leveled up. I also awarded up to eight Achievement stickers to students when I saw them doing something useful or impressive; these included TEACH badges for explaining a concept to another student, DEBUG for successfully finding a bug on their own, and, the favorite, TEAMWORK for working together to solve a problem or find a unique way to do something.
With five days to level up, there was no pressure… and I allowed students to take their workbooks home to continue their progress. Level 10 could only be achieved by creating their own unique game, and all the students were successful in finishing a game by Friday. I awarded a lot of TEAMWORK and DEBUG achievements but also quite a few RESEARCH and UPGRADE badges.
I mentioned earlier that, during the Scratch Game Programming camp, I introduced the students to program-related topics. One of those topics was robot programming. Kids are fascinated by robots (adults, too), and it’s an easy thing to hand a student who might be hesitant to learn programming a small robot like the Edison and ask him to drag some blocks on the screen to program the little robot to drive a loop around his chair.
I was fortunate this week to have an Edison to show the kids. This little robot has studs on it so LEGO blocks can be attached, but I was much more impressed with the new tool that’s being released shortly called EdBlocks. EdBlocks is a browser-based tool that lets the user drop pre-coded blocks on the screen and string them together to create more complex instruction sets. I was able to use EdBlocks to get a few of the younger campers a bit more confident with the drag-and-drop Scratch block programming. What’s interesting is that EdBlocks is based on the Scratch tool, and some of the blocks (especially the looping-style blocks) shared a color scheme with their Scratch counterparts. The visual similarities, in my opinion, made it much easier for my younger programmers to feel at home once they dove into Scratch.
The only problem I had was that they didn’t want to leave the Edison and start learning Scratch. They had the robot doing zig-zag patterns out in the hallway and beeping away at obstructions. The kids were so engaged that I’m seriously consider creating an entire camp that revolves around the inexpensive Edison robot. I was provided with eight sample lessons, but the final (and FREE) resource pack will include 23 lessons and a teacher compendium!
And speaking of new camps, my next camp (a new one titled More Game Programming) will be up and running in a few weeks, and I’ve got another absolutely incredible resource from DK. Each camper will be given a copy (to take home when the camp is done) of the brand new Coding Projects in Python. I’ve read through the book, done most of the projects, and I’m blown away by what a great resource this is for a younger audience.
This is a much lengthier book, coming in at 224 pages. Just as with the workbooks, this book is filled with colorful graphics, useful sidebars, Expert Tips, and much more. The book offers up over 15 different games and projects to code in Python, and it’s the layout of this book and the unique way it teaches the reader to code with Python that convinced me to offer the camp. With well-defined step numbers, the layout makes it easy for students to not accidentally jump ahead and skip over something important. This is a big deal—many coding books are just paragraph after paragraph after paragraph with code snippets tossed in, and I’ve found that kids can often get lost easily in the maze. These projects are spread out and not “rushed”—students have plenty of graphics to explore that explain key concepts and the sidebars are engaging. My oldest son has enjoyed the book (going into 5th grader) and I have no doubt the 3rd to 5th graders who will be taking the camp will find the projects fun. Even better, however, is the fact that they will get some solid experience with coding using a text-based language instead of a visual tool like Scratch.
Coding Projects in Python just came out, so I am fortunate to be able to have copies for each student. If you’ve got a student at home during the summer who is bored or needing a challenge, this is the book for him or her. And because Python is free to download and install, there’s nothing else to buy. (It will run on both Mac and PC.)
All in all, I’m keeping some kids busy this summer with lots of fun and interesting tools. From the Edison robot to Scratch programming to coding in Python, I’m enjoy seeing the look of satisfaction on these kids’ faces as they learn new skills and have many Ah-hah! moments. Whether you’re teaching your own camps or just have a kid or two at home during the summer and are looking for some ideas, these books and programming tools and robots are a sure-fire way to keep reading skills and brains sharp.
Note: I’d like to thank DK and Team Edison/Microbric for providing review copies of the Python book and the Edison robot and EdBlocks tutorials.