Lots of options for getting students into computer programming
Students have an array of introductions to computer programming, which develops critical thinking skills "completely transferable" to other areas of learning, says Lauren Bricker, a computer-science teacher at Seattle's Lakeside School.
Special to The Seattle Times
Mathew Kennedy started programming with LegoMindstorm when he was 8. Now, at age 15, he creates games and applications for phones and computer systems. His father, William Kennedy, applauds the hobby and wishes all kids could be exposed to programming.
"It's fun," said Kennedy, who has hired hundreds of software engineers at Microsoft, "and it will be more and more important in the job market as these kids grow up."
Until computer programming becomes standard curriculum at middle and high schools though, families can turn to the Web for free resources and programming games for students.
Computer programming helps develop critical thinking skills, such as how to break down a problem into manageable parts or how to put tasks into a logical sequence, as well as the importance of precise communication. "These skills are completely transferable," said Lauren Bricker, a computer science teacher at Seattle's Lakeside School. "Students can use them to write a computer program or a history paper."
Young beginners might try the free websites armorgames.com/play/2205/light-bot or www.robozzle.com where players tells a robot what to do in order to get around an obstacle course or solve a puzzle. Learning to give logical instructions is one of the first steps to programming. These sites also teach such basic programming concepts as loops, which are sets of instructions that get repeated, and conditional statements, which are "if ... then"instructions.
Some technology concepts can be introduced without any programming at all. The website www.csunplugged.org introduces concepts like counting in binary and data compression through short videos and home-based activities for elementary school aged children and older.
Tweens and teens ready to create their first interactive animations, games, music and art might try Scratch, a programming language that lets users drag and drop program commands into a window on their computer screens to control the appearance and actions of items in an adjacent window. For example, the user can make an animated frog hop or set off a race between two cars.
Scratch is a robust programming tool but also has lots of design elements and interaction available, so it can be a great way to entice girls into the world of programming, according to Bricker. "Many programming systems may not initially appeal to girls," she said. "With Scratch, they can start with an interactive story, or something that interests them and the programming can flow from there." Scratch can be downloaded free at scratch.mit.edu.
Helene Martin, who started the computer programming course at Garfield High School in Seattle and now teaches beginning programming at the University of Washington, says there is a lack of role-models and peers for girls in programming. "Sometimes a girl will sign up for a computer club, but when she walks into a room filled with boys, she might just walk out again," said Martin. She suggests that parents try to get a group of their daughter's friends to sign up for a programming experience together.
For middle-school and high-school students ready to move beyond drag and drop to try text-based programming languages, the free, downloadable language Python can be a great place to start. Books such as "Hello World: Computer Programming for Kids and Other Beginners" by Warren and Carter Sandy and "Invent Your own Computer Games with Python" by Al Swigert can help guide them.
Programming can also boost teens' and tweens' resiliency. Complicated programs rarely work on the first try, so failure is expected and repeated. Students need to analyze what went wrong and how to fix it, sometimes over and over again. "When the light bulb goes off and they figure it out, kids feel like all that effort was worth it," said Bricker.
For the most advanced, Microsoft's www.dreamspark.com provides professional-level developer and design tools such as Visual Studio free of charge to students. Some of these tools can be overwhelming, and parents should be aware that text-based languages must be precise; one missing parenthesis can cause a program to fail.
For kids who benefit more from classroom instruction than learning on their own, local summer camps offer sessions on programming, computer animation and game design.
"Parents should make sure the camp is a good match for their child, " said Bricker. "Some camps are more intensive and can be a discouraging experience for kids who are on the fence about programming."
Some organizations that offer technology camps are iD Tech camps at the University of Washington, DigiPen, and Lakeside School.
"It's great for kids to understand that the computers they're surrounded by aren't magic," said Kennedy. "They do the wonderful things they do because someone worked really hard to make a machine do something it hadn't ever done before."
Julie Weed is a freelance writer in Seattle. Look for more pieces in coming weeks on how teens and tweens use technology.
Information in this article, originally published Feb. 11, 2012, was corrected Feb. 12, 2012. A previous version of this story contained an incorrect Web address for the Light-Bot website. The correct URL is armorgames.com/play/2205/light-bot .