MS STEAM starter pack pt. 1: Programming

This is the first in a 3-part (maybe 4) series on setting up a sweet STEAM classroom in your Middle School. I will link all three parts here when they're finished.

The Premise

I am a middle school computer science teacher. It's what I do. I LOVE my job. I also often speak at universities, blog, tweet, and just generally build as many relationships in the education world as I can. In my travels, I have heard the following scenario at least a dozen times (probably more, but I am prone to exaggeration, so I'll stop at a dozen). 

Hi, Clint. I'm a Librarian for Generic Area School District in Upper Generic County. My school is phasing out the Library curriculum and turning our Libraries into [ultimate action-packed / STEM / cafe-related / Multi-media adjectives] Centers. I'm being asked to teach a Middle School [Coding / Game Design / STEM / STEAM] Class, and I know nothing about this stuff. I think they're trying to get rid of me. 
(Random teacher)
I often point said teacher to my class website and give them my email and twitter handle, typically to never hear from them again. I get it. It's overwhelming. In this series, I hope to give all such teachers some very practical guides to rolling this out now. I'm only going to focus on tools and curriculum resources that are:

  • Free - Some will have Freemium features, but I don't use those. 
  • Are web-based or require minimal resources to install
  • Are appropriate for 6th-9th Graders (for Sr. High kids, go check out Kyle McAllister). 
  • Are easy to deploy tomorrow even if you have no idea what you're doing. 

Part 1: Programming (and BONUS: game design)

I'm going to include game design development with programming because I consider programming to be akin to learning Arithmetic (basic math facts) and game development similar to applying said concepts in Algebra or Calculus. Game design would then be using said applied concepts to make something beautiful and fun to use with said concepts, similar to how an engineer designs an automobile.

Programming Basics -

You have to hand it to Hadi Partovi. He and his team have put together the absolute best resource for teaching programming concepts by a long shot. It's also the most accessible, having little to no "freemium" features. This tool should be the backbone of your programming basics course. So, let's get started!

The Steps described above are:
  1. Sign up for as a teacher (Pro tip: Use your Google account to manage your credentials).
  2. Set up a class.
  3. Have your students sign up (Pro tip: Use your students' Google apps account to manage their credentials).
  4. Deploy your class code, and have students begin your selected curriculum. 
  5. Mix in occasional fun activities from the Hour of Code resources. 
Final note: A great opening activity to get students excited about what you're doing is to show one of's introductory films. Here is a playlist you may want to check out. 

Game Design Basics - Gamestar Mechanic

"Games are a complex system designed around creating an intuitive, immersive, and satisfying user experience. To be successful as game designers, students must approach this complex system holistically. Skill and drill coding exercises and practice will not help here. Students need a solid perspective on systems to design great games and any great interactive experience. This is as important to STEAM as the ability to write solid code" (Me, 2014). Gamestar Mechanic is not only a great tool for teaching these skills, but it is also fun. Your students will love it.

The steps described above are:
  1. Sign up for Gamestar Mechanic (Pro tip: Write this down in a Google doc. GSM has no account recovery options other than a list of generic multiple choice questions). 
  2. Sign up for the teacher program.
  3. Play the Quest, Addison Joins the League. You won't be sorry. It really helps to run through this before your students do. 
  4. Visit the Teacher Page and the Teacher Blog for ideas and curriculum resources.
  5. Help students sign up (Pro tip: Have students write their credentials down in a Google doc. GSM has no account recovery options other than a list of generic multiple choice questions). 
  6. Have fun watching your students learn the basics of designing complex systems for end-users.

Putting it all together - Programming and Game Development with Tynker.

Tynker is a cool app. It works on iOS, it allows students to use the same blocks-based commands they learned on It has a level editor, similar to Gamestar Mechanic. At first blush, though, it looks like a very expensive replacement for, which it is. There are a lot of Freemium features, and if you have the money, you could just buy this and not bother with other tools, but I'm assuming that you have a zero-budget operation, so I'll focus on what you can do for free.

 The steps described above are:

  1. Sign up for Tynker as a Teacher (Pro tip: Use your Google account to manage your credentials). 
  2. Set up your class code.
  3. Have your students sign up (Pro tip: Use your students' Google apps account to manage their credentials).
  4. To help students get started combining their programming and game design skills, introduce them to the level editor and have students complete the tutorial, Design Your Own Adventure-Filled Platformer.

Brag - Twitter / Facebook / Pinterest

Seriously, you need to take pictures. Tweet your tuckus off, and let everyone know the awesome things your students are doing through your district's social network of choice. Also, consider using Edmodo to allow students to share their projects with each other and communicate all of this awesomeness directly with parents. They will LOVE what you are doing.

Finally, hang in there. I'm a full-blown sold-out hard-core computer science teacher, but I am no replacement for a research librarian. I can't help but believe that schools will soon begin to feel the loss of their librarians in a big way. Until then...

Good luck and don't forget to be awesome. 


Popular posts from this blog

3d Resurrection - Getting your Cube 3 Working again

Hey, Computer Teachers, stop wasting students' time! (Part 1)

My first real foray into Classcraft...