Wed 2 Jan 2008
My Programming New Year’s Resolution
Posted by Scott Hackett under Programming
[8] Comments
Each year, I make one programming related resolution. It’s that time of year again to look back and evaluate what I’ve done well, what I haven’t, and what I might change to make next year even better than this one. In the past, I’ve chosen to learn this or that and improve my skills in some way. This year, I’m doing something a little different.
My resolution for 2008 is to get more involved with kids and computers. I’ve been programming since I was 11. I took a course in 5th grade on how to use BASIC. I have no idea how that course was offered or what sparked me to take it, but I went one night a week for a few months and learned to write some simple stuff. I was lucky to have had that course and I wish I could thank that teacher for teaching what was probably considered a novelty subject on her free time. I was also lucky for the fact that my parents were willing to invest what was then an enormous amount of money into my first few computers. I’m sure that at the time they wondered why they were investing so heavily in “toys”, which back then, didn’t manage their money, do their taxes, or calculate my Dad’s golf handicap. Yet, that investment was the start of a love of programming that’s gone on now for over 25 years.
I’ve read a lot of stories lately about how computer science students are on the decline, despite hiring and salary increases in programming. Redmond Developer reports, “[...] survey data showed that since 2000, interest in CS as a potential major had dropped almost 70 percent.” Many other sources report the same trend [1], [2], [3]. As a software developer, that trend bothers me.
My kids are in K and 6th grade, so I see what they’re learning on computers these days. Many kids have access to computers and know how to use them to access the internet, to write and print a report with a word processor, and so on and so forth. These are great life skills which, you could argue, are as important these days as reading and writing. However, there’s very little transition to computer science there, and that’s where most of the computer teaching seems to end.
It’s a shame too, because computers are doing such cool things these days. The games, the web sites, the music applications… there’s so much there that a grade school kid can connect with and see as being essential to their day to day activities. With all of that coolness, you’d think that kids would be knocking down the doors to learn how to make that kind of stuff.
The problem is that you can’t learn to make cool stuff like that the first time you sit down to program. Not the tenth and probably not the hundredth time either. In order for kids to get from the point of being users to being developers, there has to be some motivation to keep them interested. Rob Walling wrote a great article about how to make programming seem cool again to young kids. He’s got the right concept for the hook and I tried to memorize the “Show the Steak” section like it was a script.
But a hook is not sustainable. What kids really need to keep their interest are small, recurring successes. For me, Compute! magazine provided those little successes in the form of one page programs I could type verbatim to get a working game. After a few straight copies, I started tweaking their games, then I added new abilities to those games and then I was writing games from scratch. Once my momentum had reached that point, I really wanted to learn more.
So what are those little successes these days? There’s no more Compute! magazine or anything like it. Even writing a simple program these days can seem impossible because of IDEs, compilers and all sorts of things that precede writing a single line of code. There are some great projects out there like Phrogram, Scratch, Basic for kids and LOGO. Amazingly, despite the unlimited access to this stuff, most of it seems to go relatively unnoticed.
So now that I’ve made my resolution, how do I actually make it happen? Well, the other day I was talking to my son’s Kindergarten teacher before class. She was telling me about a new web site she had set up for the class… a blog where she could post information about what they were up to in class. She’d taken a class about it and was learning HTML. We talked some more and she mentioned her interest in the Give One, Get One program. I’d never heard of it. It turns out that it’s part of the One Laptop Per Child (OLPC) program, an initiative to get affordable laptops to underprivileged children of third world countries. I had definitely heard of that. Originally, this laptop was not planned to be sold commercially, but you can get one by donating one through the Give One, Get One program. This teacher was interested in getting one to use in the class, but didn’t know much about it.
So there I was with my kid’s teacher willing to learn how to use this new device to teach. We put together a small plan, and I bought one a few days ago. She’s buying one also, so there will be two in my son’s class. I’m going to help her learn what it can do and show her things the kids can do with it beyond web surfing and game playing. In particular, I’m interested in the LOGO program it comes with and how that can be introduced to Kindergarteners in the form of repeating patterns (a heavily stressed concept in the lower grades). My highest expectation is that they think it’s fun to tell a pen-dragging turtle where to go.
I don’t exactly know where this is all going, but it feels good to be doing something. I’m excited about getting involved in helping kids learn computers, a subject I’ve spent lots of time thinking about and very little time doing anything about.
January 2nd, 2008 at 10:56 am
Keep us posted on how it goes!
January 2nd, 2008 at 3:15 pm
Thanks for this article. My son is 8 years old and an avid video game player. He told me recently that he wants to write video games for a living. I was wondering how to introduce him to programming as I too learned back in the late 70’s using BASIC.
I think I will install LOGO on his computer and sit down with him and show him how to do a few things and see where that leads. His love of math should translate well into the movement and turns you can make the turtle do.
January 2nd, 2008 at 8:38 pm
Awesome resolution. I look forward to hearing how it turns out. I received my OLPC laptop today and have been playing with it for a few hours. This is the start of something big…
January 3rd, 2008 at 5:02 am
Have you seen the DrScheme and Alice projects, they might also be a launch pad into teaching programming (http://www.alice.org/)
(http://www.plt-scheme.org/software/drscheme/)
January 3rd, 2008 at 7:30 am
Great idea man, keep us informed about its outcome.
My 9 years-old nephew has got a new computer this Christmas and I’ll try to teach him some LOGO too.
January 4th, 2008 at 7:09 am
Got an Asus EeePC just before Christmas, as great bit of kit and perfect for the kids – cheap too.
Mark Mac
January 9th, 2008 at 8:23 am
I just got another lead about a great looking tool by Brandon Watts called Leopard . Leopard makes it easy to put together applications to make use of various web gadgets and info, sort of a quick mash-up generator. The thing I liked about it is that it looks like it’s easy to get your hands around, perfect for kids that are starting out and want to see some quick success. There’s a nice article about how it’s being used in schools here. Very nice work!
February 11th, 2010 at 7:35 am
This is a wonderful article. The things given are unanimous and needs to be appreciated by everyone.
=====================
Ana
plr articles
plrprivatelabelrights.com
plr-articles
plr ebook
plr articles
plt video