There is more to computer science than programming, I know.
So just for fun, let’s see the ways game design meets ALL the CS strands as defined in the Computer Science Teachers Association (CSTA) K-12 Computer Science Standards.
Each time I see a standard being met, I’ll shout out in parenthesis one of the below strands. I’m using “QuickTextPaste” app to ctrl + alt + # to paste the pre-typed text of the standard.
1) Gamemaker Studio
I use this most often. It starts students breaking larger problems down into digestible ones (4.2.1 Computational Thinking). The programming languages will come later, but they first need to enjoy themselves solving problems. They are learning terminology by actually NEEDING to know it, such as repeating a boss guy shooting at the player using LOOPS (4.2.3 Programming). They optionally group up to 3 together to make games (4.2.2 Collaboration), which includes having to track versions and merge code. This also brings up the ethical use of other people’s code they find online (4.2.5 Community, Global, and Ethical Impacts), which we extensively discuss, citing when it’s ok and when it’s not (If they find it in a public forum post or tutorial, it’s ok. If they use a plugin someone else purchased, it’s not.)
This semester, a group of students are building a full size arcade machine that will serve as a “museum” of heretofore students’ Gamemaker games. They’re learning lots of hardware, wiring, API’s, and much to their dismay, it’s NOT ok to illegally acquire the plans to make the whole thing. (4.2.1 through 4.2.5!)
I’ve enjoyed using Classflow (you can create slide decks that can live inside assignments, assessments, etc, like a MOOC) to make a series on making a game in Gamemaker using only Gamemaker Language (GML) scripting. Students like that they have to think a little in these, unlike a tutorial where they may mindlessly be typing what they see, with no comprehension.
2) Minecraft with ComputerCraftEdu
Before you argue it’s not game design, consider this: My students use the ComputerCraftEdu mod to create environments with code (4.2.3 Programming) for other students to play in. Sounds like designing a game, just WITHIN another game. I’ve written on this before, Read this post. After they program the turtle to make their house, they create an animated GIF of the build process, and post it online (4.2.4 Communication Devices).
3) Creating experiences in VR using Unity 3D
It would be a stretch to consider what we’ve made so far a “game”, but it’s certainly an experience. I’m a student right alongside my students in this one, as I’ve no idea what I’m doing really, learning C Sharp right along with them. The kids seem to like that I openly say “I don’t know” and ask THEM for help. I’m trying to show them it’s ok to not know all the answers, and what to do when you don’t.
We’re following this guy Sean Lee on YouTube’s tutorials as we’re really noobs. Too bad his super high-res display makes reading the code difficult. It does make us think along the way though, and work together to figure out WHAT it says, I think that counts as 4.2.2 Collaboration.
Creation == Play
The real joy in using any kind of creation to teach is that it brings us (I include myself) back to childhood play, where learning was fun because we had options, we didn’t have predetermined outcomes, we were determined. Everytime I see my 4 year old girl Madilyn learning new things, I hope she never loses her love of learning.