bamed.org | chown -R bamed. ~/base

VB, KPL, Phrogram and ColoBot

This year we are homeschooling our kids. I’m pretty excited about it. My wife is excited. And my kids are excited too. One of the reasons I’m excited is because I get to do some teaching. Specifically I’m in charge of teaching Bible, not a class they’d have in public school, and I will also be teaching them Computer Science through the years. Our 3rd Grader will begin keyboarding this year, and I’m going to be teaching our 4th Grader Programming. I know that may seem a little young to some of you, but I’ve heard testimonials from several well established programmers in the Open Source Software (OSS) world who began their adventures into programming at age 10. Joe will be 10 in September.

So I’ve started looking about for resources to teach kids programming and I was surprised to find a lot. Microsoft has a section on their website dedicated to teaching kids to use Visual Studio. I’ve also find some software to teach kids VB from KidWareSoftware. They teach VB 6 and VB.NET. Then I found something called the Kids’ Programming Language (KPL). This was a programming language designed to teach kids the basic principles of programming. It’s pretty simple, but demonstrates all the basics of programming and is designed in such a way that when they are ready, kids can graduate to a more “grown-up” programming language pretty easily. It is also designed to teach kids to program by creating games. The latest version of KPL is now called Phrogram (pronounced like Program, not Frog-Gram even though they use a frog as their logo). I spent quite a bit of time looking into Phrogram. But it’s still in a pretty early stage of development and I found it a bit lacking. I also found several bugs while playing with a “Hello World!” program. It didn’t handle carriage returns on a new line properly. I know that’s a pretty minor issue, but I want Joe to be able to explore the language a bit and try different options for each command to see what the results are. I really don’t want to work with something where the results are different than what the documentation say they should be. I like the concept behind Phrogram, and I’ll probably look at it some more, but for now I’ve moved on.

So I went back to look at teaching VB. I’m pretty familiar with VB and it’s pretty basic (for those who don’t know VB is Visual BASIC), but then this weekend I found something called Colobot. Colobot is a 3D-RTS(Real Time Strategy) Game where you are a lone astronaut exploring the galaxy with robots as your aids. You use some robots to search for different items, such as Titanium Ore, gather it, and bring it back to your base. There are robots that fight off alien ants, spiders, wasps, etc. There are robots that search for underground power sources, etc. You can click on a robot and move it around and perform these tasks by clicking buttons that control the bots, or you can program the bots using an object oriented language similar to C, C++ and Java. Besides the story-line mode you can play, there are several exercises you can go through that teach you the bot programming language.

I downloaded the demo this weekend, then later got the full version. It’s amazing! I’ve gone through several of the exercises so far and it’s covered most of the basics. It is structured very much like C++, you have a main() function, though it is called something other than main(), but the function is enclosed in brackets{} and each line must end with a semi-colon;. So far it has taught about several types of variables, such as float and int. It’s taught the use of while() and for() loops as well as if..else statements. And it’s all done in the context of controlling robots to perform whatever function they may be needed to do. One of the exercises required me to write a program for a flying robot that searched out flying wasps that moved rather quickly, hunt them down then shoot them when within range. I had to control the speed of the bot, plus it’s it’s height compared to the height of the wasp, by using a series of while() loops and if..else statements.

My son is having a blast with it. He’s gone through the first five or six exercises much quicker than I could have taught any of these principles. And my younger son is getting into it as well. He needs to learn some keyboarding first, though; he still hunts and pecks. But they’re both very bright and I expect they’ll pick up on it all very quickly.

So now I’m thinking about skipping the kiddie languages and jumping write into C++. I haven’t gotten far enough into Colobot to see if it teaches arrays or pionters, etc, but after the kids have mastered the game, the first few chapters of my C++ Primer will just be review.

Comment Pages

There are 2 Comments to "VB, KPL, Phrogram and ColoBot"

  • Brian Glass says:

    I have started by 2nd grader (actually 3rd grader now) with KTurtle. It works well and is free. The only thing that got me is that some of the logo commands are different than the standard logo commands that I was used to. The visual feedback is what seems to keep him interested.

  • Andy Dunn says:

    Hi Bryson – I’m one of the developers on Phrogram. Can you drop me an email about the bug you found. Its not one anyone else has mentioned. I’d love to hear any other opinions you had as we are working on future versions.

Write a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 

Essentials