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.
- 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.