Archive for November, 2014

CodeMontana and GameMaker all at once

November 18, 2014

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.

App Inventor takes a digger

November 5, 2014

As usual I thought I would try something new in my Programming I class.  I figured I would give App Inventor a try.  Opps.  The concept was great, the implementation no so great.  The problem is the emulator.  Sometimes it works, sometime not.  The kids are using their own computers so there are suddenly a whole lot of variables involved.  It is amazing how differently PCs can be set up that will cause issues with the App Inventor emulator.  The emulator requires an install so not being an administrator on their own laptop is one issue.  On one kid’s computer there is a thing called Net Nanny.  I have a feeling it is doing all sorts of clever things to guarantee the kid cannot use his computer.  Different anti-virus software is in the mix.  Oh, and the emulator sometimes just stops working.  Must be the weather.

This little experiment points out one of the major issues with BYOD.  Technology consists of dealing with weird issues.  Teaching technology with BYOD just adds to the “weird things happen” list.  Now I could set App Inventor up in the lab and pretty much guarantee it is going to work.  We could then learn App Inventor without distractions.  The thing is, I could care less about App Inventor.  I am more interested in having the kids troubleshoot why App Inventor is not working.  Programming is programming, be it App Inventor, Scratch, Python or whatever.  Most of these kids will never have to program again in their life after this class but I suspect all of them will have to troubleshoot computer issues for a long time to come.  CS pundits constantly talk that CS is not programming, it is troubleshooting and problem solving.  What more could I ask for in the way of troubleshooting and problem solving than when App Inventor does not work and we have to figure out why?

Of course there is the little drawback in that I will have to abandon my syllabus plan for the semester and sort of punt, but hey, that is what teaching technology based subjects is all about.  Hmmmm, what could I do?  I have some Mindstorm robots, some Arduino kits, I could go back to Small Basic or even Scratch, dabble in a little Python, RobotC used to be an option but the trial period is not only 10 days when it used to be 90 (no money to actually buy licenses), Visual Basic is always floating around out there and the price is right, hmmm.  That is the problem with teaching programming, there are just so many interesting directions to go that get the same result.