I still remember the very first computer program I wrote. Back in 6th grade, I programmed an Apple IIe to play Twinkle Twinkle Little Star. It probably took all semester to complete and I’m not even sure there were any graphics to go with it. I couldn’t wait to share it with my parents on parents night.
This week, Dec. 9 -15, is National Computer Science Education Week. The challenge is for students across the nation to participate in an hour of code. Head over to code.org and check out the tutorials.
MIT’s Scratch project is perfect for the holidays. Program a snowman to sing jingle bells and send it to Grandma and Grandpa. You can include a personalized message.
Here at my house, we will be spending several hours programming with the Lego Mindstorm NXT in preparation for E’s FIRST Lego League tournament this weekend. Programming robots is particularly rewarding for kids because of the physical world interface.
If you need reasons to teach programming beyond the fact that most kids WANT to learn programming here are a few reasons:
1. Programming develops patience and resilience. Troubleshooting and debugging are as much a part of programming as writing code. Sure sometimes you might actually have everything work right the first time on a simple program, but most of the time there will be some bugs. Finding errors and working them out is part of the challenge.
2. Programming teaches kids to break problems down into smaller more manageable steps. This skill isn’t just useful in programming, but in most aspects of life. When writing a research paper or working on a team project, it’s essential to have an overall goal that is then broken down into manageable parts. Those parts can then be worked on by different team members individually or in smaller groups.
3. Programming builds confidence. Having a program work correctly is a very rewarding feeling, especially if you’ve been through a few rounds of troubleshooting. Programming is a great opportunity to create a “safe fail” environment. Many aspects of schooling teach us to be afraid of failure, there is one opportunity to get the “right” answer. Programming provides an environment where failure is part of the process and resilience is rewarded.
4. Learning to program teaches kids to be producers not just consumers of technology. It gives kids creative ways to express themselves. It gives them ways to be in control of their world.
5. Programming rewards logical thinking. Programming teaches essential skills used through out life. Managing a large project and writing a program have a lot of similarities, both require a certain progression of steps with some elements being worked on simultaneously.
Will you participate in the Hour of Code?