Big news in Montana today. Some computer companies in Montana have gotten together to sponsor the development of an online programming curriculum CodeMontana.org. The program is based on moving Karel the Dog around a grid world similar to Greenfoot. I just went through most of the videos and some of the exercises. Any kid that can sit through this program has more will power than anybody I could imagine. The videos are simply and stunningly boring. The material does hit the basics of a Progamming I course. It covers pretty much the same stuff I teach in Programming I, only done in a manner to bore someone to death.
Why do people that have never taught kids think they can write an educational program? And when they do why is it usually in a manner that is so boring no one in their right mind would use the program? I admit that writing curriculum is not easy, and making it interesting, much less exciting, can be extremely difficult. I struggle every year to make my courses interesting, relevant and, as much as I can do it, fun. If the course is not somewhat interesting to the kids then that is probably the end of their programming interest and they will probably have a bad taste for it for a long time after. Programming can be fun and exciting, even for someone as unimpressionable as a high school sophomore. Want to teach about the sequential nature of programming and some function building? Have the kids play Light-bot for a class or two. The kids will work like crazy to get that stupid little robot though the pattern. They will be problem solving, collaborating, building functions and get the concept of sequence while having some fun. Light-bot too easy? Graduate to Cargo-bot. Games like this can be used to keep kids interested in programming. Programming does not need to be boring. Does it have to be all fun and games? No, but it sure helps.
There are obvious issues with presenting material on-line. The fill-in-the-blanks-with-humor and flexibility that a live teacher can offer is missing. The worst part of boring programs like this is that kids that could use an on-line program will be turned off.
Everything in this program could be taught with a modified version of something like Light-bot. Functions, Fors, Whiles, Ifs and so on could all be taught through a Light-bot like simulator. What fun that would be! Kids like games. Programming is a game. Make it fun like a game.
To make a kid willing to sit in front of a monitor and work through a program like this there has to be more that some far down the road goal, after all this is a kid. Games, as much as us older generation scoff at them, work. Just remember the goal at this level is not to make programmers, but to make kids problem solvers by introducing them to programming.