Archive for March, 2011

Teaching Programming in a Vacuum

March 24, 2011

The school president (superintendent sort of) gave a presentation to the staff yesterday.  The school is going to start a Performance Base Compensation and Bonus Program.  The better teacher you are, the bigger your raise.  The “better” is not based on student scores; it is more based on professional growth and evaluations.  As a private school we are presently at about 66% of public school wages so we are never going to make big bucks here.  My wife teaches in a public school, I will stick with my 66%.  The problem for me is the opportunities for professional development.  I have a Masters in Math Ed so I am pretty much pegged out there.  It is the programming that is my weak point.  The opportunities for professional development in programming or CS are pretty much nil, especially in the programming vacuum of Montana.   (It is probably possible to count the number of programming teachers in this state and not run out of fingers.)  I could wander over to my local university and take some totally irrelevant CS courses for an exorbitant amount of money.  The irrelevant and exorbitant part do an excellent job of quashing that idea, I suck at irrelevant and exorbitant.  Of course this lack of opportunity gets me thinking.  What do I really want or need in the area of CS/programming professional development?  Since I do not consider myself abnormal as a programming teacher (learned on the job, very little programming course work, no teacher education in the field, no experienced programming teacher or programming professional to learn from and like Hawaiian shirts) I think any list I come up with might be applicable to other teachers out there in Programming Teaching Limbo.  I like to come up with course or book titles that I would like to see so here I go.

Fundamentals of VB for Teachers.

The course would assume the student knows the basics of programming in some language.  The course would take a typical high school level project that might interest a high school student (typically a game and not a coffee shop point-of-purchase program) and build it from scratch to include design, pseudo code and code.  The instructor should be prepared to answer questions like: is there a different way?  how does this work?  what is a good way to explain this to a kid?  why did you do it that way?  and my favorite – huh? 

Course duration: 5 days, 8 hrs per with lots of breaks, Q&A and lab time, lab open after hours with somebody that know what they are doing in the lab.

Fundamentals of C# for Teachers.

Same as the VB course.

Fundamentals of XNA for Teachers.

Prerequisite of Fundamentals of C# for Teachers.  The goal would be to design a build a decent, simple video game.  Hopefully the prerequisite will allow a shorter course.

Course duration: 3 days, 8 hrs per with lots of breaks, Q&A and lab time, lab open after hours.  

Fundamentals of F# for Teachers.

What is a functional language and is it something that will be needed in the high school curriculum?  This might be a seminar attached to one of the above courses with a more extensive course to come.


How to Write Phone Apps for Teachers.

This would require three sub-modules: Win7Phone, Android and iPhone.  The previous courses are all Microsoft based but the Win7Phone is not likely to displace Droid or iPhone as the market leaders any time soon.  This course would seem a bit iffy.  The disparity between the languages would add major difficulty.  I am imaging a programmer from MS and a programmer from ANSCA/Corona (Droid and iPhone App writing software) presenting an over view of the app writing software and then later a course targeting a device.

Course duration: 6 days (2 days per device), 8 hrs per with lots of breaks, Q&A and lab time, lab open after hours. 


I think the first four courses are practical.  The phone apps course, not so much but I think phone apps will be the programming direction of the future and I think that future is going to happen really quick.  Since a university would not touch these courses with a ten foot pole the courses would have to be offered by some large, multi-billion dollar corporation with a vested interest in getting their languages to be the movers and shakers in high school programming.  (Hmmm, so much for the Droid and iPhone.)  I can see some minor issues with the corporation approach.  Headlines would read: “Microsoft is Brainwashing Teachers”,”Equal Rights for Java”, “Python Needs to Strike”.   I would reply “Put Up or Shut Up”.

Would these courses satisfy my needs for professional development?  Probably for the following school year but the next year I might be looking for “Teaching Advanced Game Writing”.  Again offered by some large, multi-billion dollar corporation with a vested interest in getting their game platform into the high schools so lots of kids will want it to write their own games for it.

VB and Sharks

March 16, 2011

I have been picking at my battleship game and just started the sharks and fish simulation that Helene Martin saw at SIGCSE.  I remember reading and working on this simulation back when it was first published.  I was a big fan of Scientific American’s Computer Recreations back then; it was always good for interesting ideas.  For the younger readers this was before the internet and Google.  Finding cool teaching ideas required reading lots of magazines with SciAm being on the top of the list.  I had a personal subscription back then.  Trying to draw Mandelbrot and Julia set graphics on an Apple IIe was a major time black hole for about a year which was another SciAm idea. 

Working on programs like this always points out the weak points of learning programming (or any language for that matter) on-the-job with high school level textbooks.  Textbooks just do not discuss so many things in enough detail.  I am trying to pass an array as a parameter and the obvious does not work.  Pushing variables in and out of Functions and methods is poorly covered in most HS level texts.  I have been teaching Programming I and II so long that I really struggle to design anything with more that 4 or 5 methods or anything requiring cleverness.  I gave the sharks to my two seniors as a final.  They are both smarter than I am; working together they are 3 times smarter than I am.  It will be interesting to see how far they can get.  I better go shopping for a better VB reference than what I have on the shelves.

Game software for the Droid

March 3, 2011

The last couple of days I have been messing around with Corona, a software for writing 2D games for iPod and Droid devices.  The demos look really slick. The language, Lua, looks fairly straight forward so I am thinking this would be an interesting way for the kids to write apps for their phones.  It is always interesting to see what a software company publishes in the way of documentation.  The company has several tutorials that are somewhat repetitive and incomplete, lots of really cool sample code that is totally unexplained, and a number of videos that would take a lifetime to look through.  There is no order to the material and no comprehensive tutorial that would be useful to base a course on.  This software has huge possibilities for education but the little details of making it a feasible tool for a teacher just are not there yet.  It is easy to see that the documentation was written by people who know their software but do not understand how people learn to use the software.   I will continue to play with this software; it just has too many possibilities not to, and maybe get enough organization to build a course around.