Learning to Program

I learned to program on my Apple //e a long long ago.

But I did take a class in undergrad that was a sort of introduction to programming for non-programmers (now that I think about it, I don’t know why I took the class as it was well below my knowledge level). It used a neat book called Karel The Robot. You can Google on “Karel the Robot” and all sorts of stuff comes up, including a lot of love and praise for it. It’s really a good way to learn how to program because it’s simple and friendly. It doesn’t focus upon a particular language, which is part of the simplicity and appeal. It allows people to learn about general programming concepts and constructs, and how to use them as building blocks to solve problems. After you grok the concepts, then you can get yourself caught up in the semantics of a particular language… trying to do both at once is just too much to focus on.

So I’m writing this blog entry as a bookmark to myself. I’ve been wanting to teach my kids how to program and wanting to use Karel to do it. So I found Karel on SourceForge. I also found RUR-PLE (history of it here) which is a Karel-like approach that uses Python. There’s also Guido van Robot. I really like Python as a language (tho I don’t get to use it often enough), and feel it’d be a great first language for my kids.

Anyway there you go. Karel.

3 thoughts on “Learning to Program

    • Again, it won’t teach you any useful languages, but I think that’s good. Focus first on learning the concepts since they’re universal to any sort of programming work.

      Then once you have those, you can worry about the fiddly details of a particular language. Tho I did get the feeling that that RUR-PLE did specifically teach Python in a Karel-like context (didn’t download it yet).

  1. Pingback: Learning to program | Stuff From Hsoi

Join the discussion!

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.