NEWSLETTERS
 

CIO.com updates, insights and advice on technology, management and your career.

 CIO BlackBerry News and Tips
 CIO Research and Analysis
 CIO Microsoft
 CIO Insider
 
 
 
SUBSCRIBE TO CIO
 
Are you involved in setting the direction for your company's IT budget or strategy?

Apply today for a FREE subscription to CIO Magazine!

 


Thu, Jul 31, 2008 16:22 EDT

Teaching Kids to Program, or Don't Try to Teach 8-Year-Olds Java Subclassing

Topic: Development

Blog: You're the Boss

Current Rating: 5 Comments: 7

When Nathan Torkington moved back to New Zealand, he got involved in his kids' school. Initially he provided hardware, which somehow turned him into the school's de-facto system administrator. Before long, he found himself teaching the grade-school students programming skills... and his experiences might inspire you to help out, too.

I have a folder stuffed full of "cool things I saw at OSCON" (the O'Reilly Open Source Convention, held last week; I wrote about its key themes here). And not enough time to write about all of them at once. So, to get myself to focus on one topic at a time, I'll begin with a topic near-and-dear to my heart: training the next generation of IT workers. It's what Nathan Torkington, who's board member of The Perl Foundation among other achievements, called "Spawning the Next Generation of Hackers" in his keynote session. Declaring—rightly, I think—that "Programming is now a basic life skill," Torkington shared his experiences in teaching programming to grade-school children. Here's a few of the points he made in his presentation.

(I've long wanted to write a feature story on this subject, but have always put it off in favor of higher-priority issues. E-mail encouragement might get me off my butt, so don't hold back.)

One lesson he learned is that robots aren't cool. Torkington started teaching the children using a LEGO MindStorms kit; it let them build a robot by programming the central controller. It sounded cool to him but he came to this conclusion: "Robots are lame." The killer app for the MindStorms robot was to make it follow a line on a page, he said, and it didn't even do that consistently. So children could work really hard on a project and have it still fail to work right, through no fault of their own.

Instead, he found, a better tool for teaching kids to program is the sprite-based Scratch from MIT, which despite some limitations is a fully-featured language. It subtlely introduces important programming concepts without banging the kid over the head. "You don't want to explain Java subclassing to an 8 year old boy," Torkington opined.

Other lessons-learned:

  • Lectures don't work. "You have two minutes, tops, when you have a class full of kids," he said. Instead, you have to focus on discovery-based learning.

  • They don't have math skills. Even simple math tasks, such as dealing with 90-degree angles to create a square, are too advanced for children. You have to pick the programming projects with that in mind. Or, he said, it's a good place for pair programming; the kid thinks in terms of creating a cannon for his game; the adult can do the programming that involves math and bounds-checking.

  • Typing is also a challenge. They haven't had keyboarding classes yet.

  • The gender gap is not what you think. "Everything is better with the girls," Torkington said. They're smarter, more focused, and they have better math skills. They're also more literate at that age, and they follow instructions, in Torkington's experience. "The boys just want to make a game like what they play on the X-box, and they're too ambitious," he said.

  • Follow their interests. Help them do what they want to do, or they won't pay attention. He showed them the basics and said, "Now you experiment. Decide what you want to do." Students used their new skills to tell jokes and stories, to create books (such as one girl's presentation about her favorite book) and to program simple


    You do not have flash or javascript support.
    Average (2 votes)
    5
     
 
Sun, Aug 3, 2008 12:40 EDT
Posted by: Dave Briccetti
Rating: 90

I enjoyed this article. Just a few thoughts: Alice (alice.org) is a very nice environment like Scratch, but is 3D. Scratch and Alice are great ways to get introduced to programming, but tend to encourage some bad habits. Once my students get fairly good with Scratch and Alice, I introduce them to Python (python.org). Then we use Pygame (pygame.org) to make 2D games.

http://briccetti.blogspot.com

 
Mon, Aug 4, 2008 2:30 EDT
Posted by: Mark Cummuta
Rating: 90

I enjoyed this article because it gave me some new ideas for encouraging my own kids' interest in programming! Now someone else can host his passion, and maybe I won't have to rebuild our PCs so often from his experimental configuration changes and programming attempts!! :-( Thanks!

 
Tue, Aug 5, 2008 9:59 EDT
Anonymous user
Posted by: M. Healy
Rating: 80

I really enjoyed reading this article, especially as the issue it covers is close to my heart.

I work for a software/hardware consulting group during the day, and teach CS courses at a local university a couple of nights a week. This year, I was tapped to help put together the program for my primary employer's "Bring Our Daughters and Sons to Work Day" event, which I wound up breaking into two sessions that covered what the firm does. We had them make "throwies" and take apart a couple of old computers in the morning, and then we showed them how to write some simple programs in Scratch during the afternoon. The kids had a lot of fun, and were very excited to see their stuff "come to life". (Now I have to figure out how to top it for next year!)

My eldest son is showing signs of wanting to follow in my footsteps, which is (to say the least) very cool. I'd be very interested in seeing a feature article on this topic, which would hopefully help to give me more ideas for work and for home!

 
Tue, Aug 5, 2008 10:23 EDT
Posted by: Esther Schindler
Rating: 90

You've just moved me one inch closer to doing that feature article.

In the meantime, do visit Torkington's site. I believe he's set up a wiki (or at least he referred to one) which is collecting things that work and didn't work in teaching kids programming skills. I'd love to see how shared knowledge can make a difference here.

 
Wed, Sep 3, 2008 16:10 EDT
Anonymous user
Posted by: Al Sweigart
Rating: 90

I agree very much. I'm dismayed by all the programming tutorials aimed for kids that either 1) start with very high-level abstractions such as object oriented programming or 2) are small game kits that don't translate into programming skills in actual languages (though I do like Scratch).

To fill this gap, I wrote a book that teaches kids Python programming called "Invent Your Own Computer Games with Python". It's freely available under a Creative Commons license.

Invent Your Own Computer Games with Python
http://pythonbook.coffeeghost.net

Each chapter gives the complete source code to a simple game, and then explains the programming principles from the example. I've found that many programming books for kids read like math textbooks, or they concentrate on the syntax of the language and have practical application as a side feature. This book may not be the best for a mass audience, but for kids who are naturally interested in actual programming, I think it fits them well.

Post new comment

* Subject:
* Username:
* E-mail:
The content of this field is kept private and will not be shown publicly.
Homepage:
* Body:
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <strike> <p> <br>
  • Lines and paragraphs break automatically.
More information about formatting options

* Denotes required field.

About this Blog

How would you solve this management problem?

Hot Conversations

Ex-Microsofties Look Back in Anger

Posted by Shane ONeill in News | 3 comments

The Price of IT Outsourcing

Posted by Beth Bacheldor in Best Practices | 2 comments

Start a Conversation
Click to post

Got something to say? We want to hear it! Click the Post button to get started. GO»

EXPERT ADVICE
See our roster of experts.

Advice & Opinion from more than 115 of IT's most insightful thinkers.

  PARTNERS       WEBCASTS    
 

Windows 7 Webcast Series

There's a lot of buzz about Windows 7 out there. Each month in our webcast series, listen to analysts and customers discuss how Windows 7 and the Windows Optimized Desktop is impacting large companies around the world. Learn how they evaluated Windows 7, including the cost of deployment, deployment strategies, and tangible benefits.

Sponsored by Microsoft  Listen to on-demand Recordings »

 

A Framework for Better Application Delivery

The complexity of application delivery is driven in part by the evolving applications environment. Instead of approaching application delivery from a siloed fashion, this handbook looks at end-to-end guidance and discusses the impact of ignoring the WAN, Web apps that are chatty, data center consolidation, SaaS, Web 2.0 and virtualization.

Sponsored by Riverbed  Read this White Paper »

 

Microsoft® Exchange 2010 includes archiving - but is it enough?

Microsoft® Exchange 2010 includes basic email archiving. But many organizations will find that it does not meet their requirements. This paper describes why organizations need to archive, what capabilities Exchange 2010 includes and why 3rd party archiving solutions will be necessary for most organizations.

Sponsored by Google, Inc.   Read this White Paper »

Resource Alerts

Get instant email notifications by topic when white papers, webcasts, and case studies are added to our library.

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

Enterprise Capture: Your Onramp to Business Process Automation

Today more than ever companies are seeking to reduce costs and...  View Now »

 

The True Cost of Legacy Systems

How well are you maximizing existing software assets? This webcast reveals the results of a commissioned study on top migration and modernization priorities for IT leaders.   View Now »

 

How To Maximize Your Virtualization Strategy and Deployment

Join award-winning technology journalist Stan Gibson in this webcast as he discusses how to enhance your virtualization strategy with the ROI, planning, implementation and platform advice. Exploit the business benefits of virtualization and successfully expand your current deployment.   View Now »

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

 
NEWSLETTER

Sign-up for the Blogs & Discussion Newsletter




*Required fields

By clicking the sign-up button, you agree to the Privacy Policy.

View all newsletters »

 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

Manage limitless content todayread EMCs 15-minute guide to ECM.

HP Exstream. Get a Free Document Assessment for Financial Services.

Take the Netezza TwinFin TestDrive!

Webinar: Jump-start your in-house e-discovery with Ringtail QuickCull from FTI Technology

Let Progress Software help your business make progress.

Best Practices to Reduce IT Operational Costs

Real-world testing ranks Trend Micro #1 against malware. See results.

Forrester: The real-world financial impact of Windows 7

Turn your desk phone and mobile phone into one with Sprint Mobile Integration.

Maximizing efficiencies with unified communications.

Stay informed with custom newsletters from Tech Dispenser

Selecting the Right Reporting Technology

An IT Leadership Action Plan for the Economic Recovery

Consolidate data centers and lower IT service costs. Learn How.

WAN optimization techniques significantly improve application performance. Read More.

The Revolution and Evolution of Private Cloud Computing

ROI of Application Delivery Controllers

Cut Costs & Green Your IT Operations with PC Power Management

Enterprise Capture: Your Onramp to Business Process Automation

Adobe® LiveCycle®solutions for intuitive user experience

Unlocking the Mainframe: Modernizing Legacy System to SOA

State of the Data Integration Market

Enhance Customer Loyalty through Higher Responsiveness

Achieving Business Agility with Application Grid

Seven Ways ITIL Can Help You in an Economic Downturn

Does your IDS really work? Find out with a free Endace Audit

Verint Systems. Discover the Power of Intelligence in Action"

CA ARCserve r12.5 is More Than Backup! Download Trial Version Today

Enterprise search helps employees get more done. Get the facts from Google.

See why ShoreTel is named best overall VoIP provider by Nemertes Research

Trend Micro ranked #1 against real-world malware. Read more.

AT&T Application Management & Hosting. Let us help you STRETCH

Microsofts new client operating system helped Pella reduce power consumption.

Efficiency goes up. Costs come down.

Dark Fiber from Sunesys Save on Unlimited Bandwidth with Fixed Costs.

Trend Micro ranked #1 against real-world malware. Read more.

Webcast: Solve Your Data Visualization Needs with Open Source BI

Webcast: Delivering the Enterprise-Ready Cloud

Ensure cost effective application delivery. Learn More.

Cloud Computing: The Impact CIOs See

What's Next for Enterprise Resource Planning?

Gartner Magic Quadrant, Application Delivery Controllers 2009

Global Research: CIOs Weigh In On Virtualization

Adobe® LiveCycle® solutions for business process automation

What's New in SOA Suite 11g?

Unleash the Power of Java with Oracle JRockit Real Time

SOA Best Practices and Design Patterns

Application Grid: Ideal Platform for IT Consolidation

Taking the Service Desk to the Next Level