Teach Kids to Program?

I ran across this article on Gizmodo about a book funded by Kickstarter that attempts to get young kids (ages 5-12) to think like a programmer. The book is called Lauren Ipsum and you can read the first chapter here. The article on Gizmodo links to an article from Jeff Atwood titled Please Don't Learn to Code in which he claims that trying to teach everyone to code is unnecessary.
 It is obvious to me how being a skilled reader, a skilled writer, and at least high school level math are fundamental to performing the job of a politician. Or at any job, for that matter. But understanding variables and functions, pointers and recursion? I can't see it.
He obviously fails to see the overall point in teaching students how to code however. The point is not to create an army of programmers marching out of school, the point is to create students that understand how to logically work their way through a problem and repair issues as they go.

Programming is an excellent subject to teach in schools for a variety of reasons:


Cost 


Resources to teach students to program are plentiful on the web. From free e-books to online resources, there are so many ways to introduce programming to students that are low-cost or free. The software required to run most introductory programming languages is often provided free of charge. Since so many schools already have computer labs installed (and more often then not a 1-1 initiative in place) this means that the material cost of introducing a programming course is small.


Critical Thinking


It has been argued that critical thinking is difficult to teach in schools today. With standardized testing and race to the top it has become difficult to fit in time for students to be able to think outside of the box and create something new. Programming provides this opportunity.


A Gateway Subject


You can't learn to code until you understand the basics of what makes a computer work. File structure, directory information, memory vs. storage; all of this is necessary to create a program that does what is intended. With computers invading every aspect of our lives it is now necessary for the students to understand what they are doing. Just like students learn to not play around with electricity by learning the basics of electricity, they can learn to better computer users by learning how it works.


Get Them Young


When most people hear "programming" they think of a fat slob sitting in Dorito crumbs surrounded by empty Mountain Dew cans. They expect it to be nearly impossible to learn without a degree from Stanford or MIT. If show kids that even things that seem difficult can be learned gradually they may be willing to take more risks and branch out to learn other "difficult" things.

While I believe that teaching programming is important I don't think that the skill of programming should be the final goal. The goal should be to make students think like programmers. Today's technologically advanced society was not brought about by people simply making things better one step at a time. It was made possible by people who can think like hackers. People who can look at a problem and break it down to manageable parts and then reassemble those individual parts into something better. Programming teaches this skill better than anything we have currently found, and once we find something better we will be pushing to teach that instead.

No comments:

Related Posts Plugin for WordPress, Blogger...