programming.April 5, 2012
For some reason, just recently (as in the 6 months), there seems to be an overwhelming number of articles written along the lines of “why everyone should learn to code“. And places like CodeAcademy are making it a lot easier. But should basic concepts of computer programming be required in school? I’m not convinced yet.
The basic argument is that computers and technology are going to (if they don’t already) run our lives. And something so ubiquitous in the world should be understood on some basic level. Otherwise, you risk being taken advantage of by people (programmers) who do know what’s going on and are the ones building all those apps you use.
John Naughton even goes as far as outlining the concepts he thinks need to be learned:
algorithms (the mathematical recipes that make up programs); cryptography (how confidential information is protected on the net); machine intelligence (how services such as YouTube, NetFlix, Google and Amazon predict your preferences); computational biology (how the genetic code works); search (how we find needles in a billion haystacks); recursion (a method where the solution to a problem depends on solutions to smaller instances of the same problem); and heuristics (experience-based techniques for problem-solving, learning, and discovery)
Now, I took computer classes in school. My school system had required typing classes in middle school (they covered our hands so we had to type without looking) and I did three years of elective computer science classes in high school. In fact, I dropped out of advanced english classes to learn programming. Then I took a fundamental computer science class and some web design classes in college. That all gave me a pretty solid foundation. But I’m not convinced my background has better prepared me for this world than the rest of the kids who didn’t elect to take those classes. And I’m pretty sure I didn’t learn about all the above concepts.
I’m all for making programming classes available to students. Just like kids should have access to physics and calculus and various literature classes. Let’s be honest though – there’s a lot of science going on around me every day that is way beyond any basics I learned in high school. And I’m getting through life pretty well.
Kids are growing up on technology now. I had dial up internet through a good chunk of high school; I didn’t get a cell phone until college. But imagine if you started using an iPad before preschool, and you’ve only ever known internet banking, and every social networking site you join has hundreds of privacy settings. Kids are growing up with a different awareness about computers and how to interact with them and how troubleshoot problems and how much information they give away. They’ll learn what they need to know – just like you learn when you need to go to the doctor and when you can just sit on the couch.
My only exception is typing classes. I’m not even sure if that’s necessary for kids who will grow up on computers at home. But typing in the correct position without looking (and fast) is a skill that will, without a doubt, be a necessary life skill. Like using a telephone and basic multiplication.
Also, this video is one of my memories from my first high school computer science class.