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

Take My Windows 7 Please: A Resale Tale

Posted by Shane ONeill in News | 6 comments

Creating a Privacy Policy Part V

Posted by Ariel Silverstone in Best Practices | 1 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 113 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 »

 

Service Level Management Best Practices Life Cycle Overview - Improve Service Levels

Best practices for Service Level Management (SLM) is a process for consistently meeting customer requirements and delivering on IT's promises. See the steps required to ensure high-quality SLM.

Sponsored by Compuware  Read this White Paper »

 

Keeping Your Members Safe from Online Scams and Predators

In order to keep fraudsters out, romance sites must deploy effective solutions that look at information independent of what is supplied by users. A device fingerprinting solution such as iovation ReputationManager™ provides unique insight into the computers being used to create multiple accounts and exposes hidden device-account relationships that identity-based fraud solutions often miss.

Sponsored by iovation  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.

Defend Against Blended Threats: What You Need to Know

Blended Web and email threats are becoming increasingly complex and represent a huge...  View Now »

 

Prescriptive Actions to Reduce Risk

In this Webcast, learn best practices for effective systems management in a heterogeneous environment and keep client systems cost under control.   View Now »

 

Webcast- Vantage 11: Redefining Application Performance Management

Compuware's latest release, Vantage 11, is a major advance in end-to-end application performance management--bringing together proactive issue identification, quantification of business impact and problem resolution into a single solution. Tune in to learn how Vantage 11's top-down approach helps you make better decisions and dramatically lower operations costs.  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

 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

See how AT&T can help protect your network.

Top Five CIO Challenges

Streamline IT Costs. Boost Performance with WAN Optimization.

Want to know how you can maximize employee productivity?

Build your 1st app FREE with Force.com

TDWI checklist helps define data readiness for analytics. Download report.

Increase UPS efficiency without sacrificing protection.

A Clear View Toward Virtualization

Virtualization Technology as a Business Solution

The rules of infrastructure management just changed.

A Clear View Toward Virtualization

Interactive Q&A helps you discover key ways to maximize IT assets.

Ready to virtualize tier one applications? Check your virtualization maturity.

Think you can't afford a Cisco Switch? Cisco Catalyst Switches are now more affordable.

Five minute business analytics assessment. Immediate results.

The Case for Investing in Business Analytics Technology. Read white paper.

White Paper: Right-Sizing Your Power Infrastructure

Webcast: Unleashing the Power of Customer Data

White Paper: Managed Security for a Not-So-Secure World

SharePoint - Unchecked growth of content is unsustainable.

White Paper: Legacy Tools: Not Built for the Helpdesk

Taking a Seat at the Executive Table: The Reality of Virtualization

Five-Step Mobility Management Plan

White Paper: Next Generation Remote Infrastructure Management

Disciplined Autonomy: Resolving the Tension Between Flexibility and Control

Join us at the US-Brazil IT-BPO Summit, on November 10th in New York.

Unified Communications: Thoughts, Strategies and Predictions. Join the discussion

Read the RSA report: Security for Business Innovation

Webcast: Looking to the Cloud for Email and Collaboration Services

64-page prescriptive guide to security, compliance, and IT operations.

Keep your IT expertise up to date. Join the Intel Premier IT Professionals.

A new fleet of PCs with a total ROI in 10 months. Find your ROI.

eZine: A Roadmap to Reducing IT Complexity

Reduce risk, gain agility. See how Progress can help your business.

Virtualization Technology as a Business Solution

eZine: A Roadmap to Reducing IT Complexity

World-class trading technology solutions from NYSE Technologies.

If You're Paying for Telecom, You're Paying Too Much. Contact Asentinel Today.

Trade-In your old printer and save up to $1,000 plus free recycling!

infoBOOM! - The Mid-Sized Company CIO's Exclusive Community

Live Webinar: Applying Business Analytics. Click here to learn more

White Paper: 4 Customer Service Myths

Mobile Security: The Essential Ingredient for Today's Enterprise

White Paper: Improve Agility with Operational Responsiveness

White Paper: 5 Best Practices for Smartphone Support

Global Research: CIOs Weigh In On Virtualization

5 Key Virtualization Management Challenges

Learn How Web Site Performance Impacts Shopper Behavior

IDC White Paper: CCM for IT Compliance and Risk Management

Tolly Group Lab Test Results: Cisco vs. ShoreTel