I have decided to break my Programming I class into two threads. I have two distinct groups of kids in the class. One group is made up of survivors. They just want to survive the course. They have no interest in CS or programming, they are willing to do the assignments but do just enough to survive. They have very little understanding of what they are doing when writing a program and are getting nothing solid out of what they are doing. In other words sort of normal main stream kids. The other group are the kids that are in to it. They have the assignments done ahead of time and the assignments have whistles and bells in them. The want to know more, faster, farther and with extras. If I teach to the survivors the programmers will go along but will be bored and will not have the opportunity to stretch their legs. If I teach to the programmers I will lose the survivors, bad.
The survivors are going to go to CodeMontana.org (CodeHS.org). CodeMontana is a fairly straight forward online program for introducing coding. CodeMontana is written primarily for schools that do not have a programming teacher but want to offer some kind of programming. I tried it briefly with a small group of students last year but the kids found the progression way to slow. This initial test group was more of the “in to it” gang so the CodeMontana was not a good fit. My survivor group will be able to proceed at their own pace and come out of the course with a good understanding of what programming and CS is all about. I will still have some non-programming material to put in the curriculum to broaden their CS prospective.
The programmers are going to start with GameMaker by Yoyo Games. I tried GameMaker a couple of years ago with a group of Programming II students. The tutorials were atrocious. Bad to the point I had to give up on them. Even my smart kids could not figure them out. In this new version of GameMaker there is a whole set of new tutorials on the Yoyo website written by Steve Isaacs that are just what was needed. Using these I was able to build my own unique game rather quickly. The old tutorials are still in the game app itself and maybe the missing material that made them so bad can be filled in with the knowledge from the new tutorials.
A lot of people will argue that learning GameMaker is not learning “programming”. I think that argument could go around in circles for a long time without getting to a conclusion. I see GameMaker as an introductory drug. Get them hooked on something, anything, and they may go on to bigger and better things. Besides, they might actually make the next Flappy Birds.
This is one of the really cool things about teaching programming. It is an open book as to what I want to teach. The direction is consistent but the path is diverse. Of course this diverse path does require I learn new things regularly. Bummer.