Archive for May, 2013

Guinness flavored ice cream

May 9, 2013

Today I gave a test to the afternoon college class I teach and I got bored.  When I get bored I start thinking about stupid things.  So I started thinking about a problem I plan to present to a 7th grader I am tutoring.  I am going to do some Project Euler problems with him using Small Basic.  This is a very bright 7th grader.  I am sitting there in this test, bored, thinking I would like to start working on the program I want to start him working with.  All I had was my Droid phone and no way to program on it.  There are several web based languages out there for programming but the ones that are semi-easy to work in are for building apps.  I did not want to build an app; I want to build a program that will find the sum of the even values of the Fibonacci sequence up to the nth term.  I want Small Basic on my Droid phone, iPad, or Nexus 7 and I want to be able to share that program on my Windows laptop.  Now wouldn’t it be nice if there was some nice, simple, versatile little language like Small Basic that was web based to cure my boredom?  So I typed “basic” into the Play Store.  Oh goody!  I actually found something!  It is “BASIC!”  It has a manual and everything.  It took me seconds to add two numbers.  (That is after I spent 15 minutes trying to find the equal sign on my phone keyboard.  Who knew that the 1/3 symbol meant “1 of 3” and not one third.)  Not exactly what the doctor ordered but still pretty cool.  I even found a sort of equivalent called Hand BASIC for the iPad.  I can see having all these programming doodlings on three different platforms and no way to do anything with them.  I still want a web Small Basic.  I also want Guinness flavored ice cream.

Why can’t Programming Language authoring companies write good documentation?

May 2, 2013

Last week I saw a link to the new LiveCode Open Source App creating software.  I am always interested in programming languages that might temp kids to be interested in programming.  After a few hours of trying to find a “LiveCode for Dummies” or the equivalent in their tutorials I gave up.  There is a tutorial for “Hello World” and then it jumps to “only professionals need apply” tutorials.  This language looks like something that would fit rather nicely into a high school curriculum.  It is very different from the usual C based syntax so it would offer a new dimension for the kids. The time required to learn and write up material is just beyond the time available.

I have found this lack of low knowledge level, beginner based, progressive tutorials is the norm, not the exception.  Unless a language is written specifically for kids (Scratch, Alice, Kodu) there is nothing at the beginner level.  I realize that these companies are not going to make their fortune from of offering a free product.  And hiring someone to write or produce tutorials for the beginners is a sure way to not make money but you think they would realize that offering beginners well written tutorials will lead to beginners advancing and taking their product with them.  Maybe I give up too easily but I figure if I cannot get something working in an hour or so the writing required to bring it to the classroom would be beyond the time I have available.

Here is my personal list of great opportunities that were, in my eyes, failures for classroom use due to poor or nonexistent documentation or tutorials.

  1. GameMaker
  2. GameSalad
  3. TouchDevelop
  4. LiveCode
  5. C# with Kinect

These are just the ones I remember looking at.  I am not saying there is not good material for these products; I am saying it is not easy to find if it does exist.  Notice that these are all either game writing or mobile device products.  These types of programming languages are just so tempting for a high school programming course.  The kids want to program games and mobile devices and this type of course brings in the main stream kids and the computer geeks.

The only one I really regret not having time for is the C# with Kinect.  This summer I am helping with a local university programming summer camp.  The instructor is using C# to write some simple games so maybe I will pick up enough to get a course started.  Not knowing C# very well myself is somewhat of a drawback.

I presently use Corona SDK for my programming language of choice.  It is still a bit weak for beginner material but there is enough out there that writing and designing my own course is not impossible time wise.  This is also somewhat a case of “teachers teach what they know”.  Programming teachers invest a lot of time learning a language and writing material for a course.  A new language has to offer a lot, especially well written materials, to tempt them to a new path.  Even languages such as Scratch, which are designed for kids, require a substantial amount of learning and writing time by a teacher.  There are a lot of lesson plans and teacher aides for Scratch out there but a good teacher is never really satisfied with cookbook materials.

Some day maybe a big publisher will decide they can make money publishing programming textbooks.  Then we might see some research based course materials for middle school and high school.  I can almost guarantee it will be in some really boring language.