Skip to main content

Students Programming for the Future

Visalia Direct: Virtual Valley
January 2007 Issue
December 11, 2007
(1040 words)


Students Programming for the Future

Twenty-five years ago history was made. The Commodore 64, the first home computer to sell more than a million units, shipped just in time for the Christmas season of 1982. A year earlier, I had received what might still be the most important gift I have every received: a Commodore VIC-20.

Thanks to Apple, Atari, Commodore, and a dozen smaller computer manufacturers, the late 1970s and early 1980s were an amazing time in computing history. By 1993, Commodore was bankrupt, Atari was sold off in pieces, and Apple was struggling to compete against IBM and a legion of “PC clones.”

I am extremely glad I grew up during the personal computer revolution. A generation earlier, I might have built crystal radios and box cameras. Instead, I was learning to manipulate bits and bytes to produce sounds and images. I was thrilled the first time my VIC-20 played a “song” I had converted to BASIC code. (It was “House of the Rising Sun,” from a “Hits of 1973” songbook.)

With my fond memories of learning to program, it is natural to assume that I believe teaching programming to most students would be a great thing. When I speak to parents and teachers about technology and education, I am inevitably asked not if we should teach programming, but when and how.

“Aren’t there even better tools today?” I was recently asked by an elementary school teacher.
I suggested a focus on skills, like word processing or even using graphics software like Adobe Photoshop. Students are more likely to use Microsoft PowerPoint, Word, and Excel than to write the next great video game.

The teacher challenged me with a great question: “Didn’t learning calculus help you even if you don’t use it daily?” Her suggestion was that learning to program helped me in ways that might help other students.

I admit that learning calculus did have some benefits. Calculus was about analyzing a problem, breaking it into pieces, and then finding the solution to what had appeared incredibly complex. I learned that the most complex problems are really collections of easier problems.

Did learning programming teach me similarly valuable lessons? Absolutely. This teacher was right: learning to program was more than learning BASIC, Pascal, or assembly language.

In those early years, you could learn to program by copying lines of BASIC from various magazines. BYTE, PC Magazine, Compute, InCider, and numerous other publications included “program listings” you could type, save, and modify. Typing the programs in order to play games or use applications taught me a lot, not only about programming but also about patience and logic.

Inevitably, I’d make mistakes when typing three pages of computer code. Learning to debug a computer program means learning how to analyze problems. A willingness to admit error, and to correct the error, is something more people need. Eventually, I was coding my own games and applications.

This wasn’t a skill learned in a classroom, or by reading books that started with simple (and useless) examples. I learned to program by copying games I wanted to play. I had a motivation that most classroom exercises can’t match: I was willing to work a week in order to play a version of Pac-Man or Donkey Kong on my computer.

I can get students excited about software applications because the results are something of interest to the. Students learn to use Adobe Illustrator because they want to create pictures, not because they are interested in Bezier curves or advanced color theory.

The programming course I took in high school didn’t lead to “fun results” and didn’t excite me in the least. Getting a computer to print “Hello World” ten times is not exciting. Sorting a list of words? Sorry, but that’s not fascinating.

Thankfully, this teacher’s question propelled me on a search for the best tools and techniques to teach programming. It turns out there are some great tools.

LEGO Mindstorms (http://mindstorms.lego.com/) are fully programmable robots made with a mix of familiar LEGO bricks and new robotic pieces. You can buy vision sensors, sound chips, robotic hands, and more. Now, that’s fun. Teachers are using these LEGO robots to teach everything from math to English.

The LEGO Digital Designer is available for free at the LEGO Web site. You can build both traditional and Mindstorm projects onscreen. I had my students use “LDD” to create toys and write about their creations. These students, some of whom struggle with English, were so excited that they produced fantastic manuals for their toys.

Programming a LEGO robot reminded me of LOGO, a computer language famous for its “turtle” that drew shapes on screen. I thought LOGO was dead, but I was wrong. The Massachusetts Institute of Technology has created StarLogo: The Next Generation. StarLogo is free, with lots of sample lessons and activities for the classroom (http://education.mit.edu/starlogo-tng/).

As dubious as I was, it turns out that StarLogo is fun! I spent a couple of hours creating “breeds” of turtles to guide. This felt more like SimTurtle than programming. Instead of writing code, you “drag-and-drop” commands, which snap together like LEGO bricks. Despite how much fun I was having, I was also creating “real” computer programs. Elementary and even high school students used to “virtual pets” seem to enjoy StarLogo. You can’t beat the price, either.

Having as much fun as I did 25 years ago, I sough more fun ways to use programming the classroom. Stumbling into SqueakLand was another pleasant surprise (http://www.squeakland.org/). Students use Squeak to create “virtual toys” in the Smalltalk programming language. There are “squeaker” Web pages where students share their creations world-wide.

I am impressed with what students are creating. Squeak toys, created by students as young as eight and nine, are simple but wonderfully creative. My favorite toy was a dancing flamingo created by a young girl named Lauren. I’m willing to bet that Lauren had more fun creating the flamingo than I did printing “Hello World.”

The “good old days” of computer programming aren’t dead, after all.

Based on my own classroom experiences, maybe programming does have a place in our classrooms. My students used math and English skills that will help them no matter what career paths they follow.

Comments

Popular posts from this blog

Practical Technology Skills

This blog is a revision to a column I wrote for Direct Media publications. Normally, I wouldn't repost something I wrote for hire, and I certainly don't wish to anger one of my publishers. However, since this blog is primarily accessed by one of my graduate seminars, I think the publisher will appreciate that I am extending my thoughts for educational purposes. I'm also more than willing to encourage businesses to visit the Direct Media home page . Page numbers seemed to be a half-inch lower on each successive page. I stared at the mid-term paper, handed in to me by a junior at the university, and thought back to my fights with dot-matrix printers. When I was an undergrad, my Epson FX/80 printer jammed often and would sometimes rip pages after the sprockets slipped out of alignment with the punched holes of the perforated paper. Surely the undergraduate author of this paper suffered the curse of a similarly possessed printer, I told myself. “I guess when I changed the ma...

Pursuing a University Degree Online

Visalia Direct: Virtual Valley February 2008 Issue January 7, 2008 Pursuing a University Degree Online When a star high school student graduates in Tulare County, the difficult reality is that he or she most likely will leave to attend a four-year university. For an eighteen-year-old student, leaving the Central Valley, or at least Tulare County, is part of the educational experience. But, after returning to Visalia some of us find out that our undergraduate educations are not quite enough. For those in education, Fresno State, Fresno Pacific University, Chapman University, and others have offered courses in Visalia for a number of years. This makes it possible to work and still complete a teaching credential or an advanced education-related degree. I have been thankful for the options we have in the Central Valley. But, as others have learned, if you are interested in some fields you must commute to Fresno — or even further. With the drive to Fresno taking just under an hour...

MarsEdit and Blogging

MarsEdit (Photo credit: Wikipedia ) Mailing posts to blogs, a practice I adopted in 2005, allows a blogger like me to store copies of draft posts within email. If Blogger , WordPress, or the blogging platform of the moment crashes or for some other reason eats my posts, at least I have the original drafts of most entries. I find having such a nicely organized archive convenient — much easier than remembering to archive posts from Blogger or WordPress to my computer. With this post, I am testing MarsEdit from Red Sweater Software based on recent reviews, including an overview on 9to5Mac . Composing posts an email offers a fast way to prepare draft blogs, but the email does not always work well if you want to include basic formatting, images, and links to online resources. Submitting to Blogger via Apple Mail often produced complex HTML with unnecessary font and paragraph formatting styles. Problems with rich text led me to convert blog entries to plaintext in Apple Mail ...