Everyone should learn to code

I saw this video yesterday and it got me thinking. Why did I choose to get into computer science and why are other people not? It seems as though it might be because educators are just not teaching it anymore and I think that is a shame.

Everyone in this country should learn how to program a computer… because it teaches you how to think. – Steve Jobs

The first computer I ever used was a big honking thing that my parents purchased. I’m not actually sure why they purchased one but I remember my Mom using WordPerfect like nobody’s business. It was DOS based and there wasn’t a whole lot that a kid would find that interesting. There were of course a few games, but would only run if you typed in some DOS commands. The commands and skills I learned at this age are still with me today.

Our second computer was a beauty, a 486 with a “Turbo” button (ooohhh…. ahhhh) to boost it to a whopping 50MHz. I believe this machine was running Window 3.1, which was a big deal after DOS since it provided an actual user interface. This machine taught me a lot, but I still wasn’t completely sold on computers.

All in all, computers seemed pretty cool with each new computer game, word processing programs, even a little Paint. Just when you thought it couldn’t get any better – the internet arrived! It’s funny to me that so many people don’t know the sound of a dial up modem connecting. For those who remember, it’s always good for a laugh to think how far we’ve come in a short period of time. After playing on the Internet for a while, I dove a little bit into learning HTML and built out some very basic web pages. Back then you could build a free site on a handful of sites, GeoCities comes to mind. Within a few keystrokes I could make the browser show something completely new which was mind-blowing.

I challenge you to try coding onceMy journey to become a computer science graduate started back in high school with a grade 10 “Introduction to Programming” course. It all started with Visual Basic. The nice thing about VB was that it was very visual (go figure). As a beginner it was an easy way to start, just drag and drop buttons and text fields onto a page, no code needed. It seemed like you made a ton of progress with out much hassle. Although making the forms was interesting, I actually found I enjoyed working on the procedures and methods to make it all do something a lot more. If-statements, if-else-statements, switch statements – that was the name of the game. For my final programming project I made a rocket ship game which used the keyboard arrow keys to avoid objects. It was basic, but I still found it pretty cool that I made the computer do this. From there it really got me thinking about what else I could make this white box do. I was hooked.

My high school seemed to have quite a few computer-focused classes. I took a programming course from grade 10 to 12 progressing from VB to Java. Without these classes there is no way I would have found programming They also had a computer engineering class which I took in grade 11 and 12. In computer engineering we were exposed to how computers worked. Built circuits, remote controlled cars and then connected the circuits to computers and made them work together. It’s one thing to write some code to put text on screen, but it was a completely new thing to have the code I wrote make a car run.

Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains. – Bill Gates

Without these classes there is no way I would have found programming. Even more than that, these classes helped me develop a new way of thinking. As Bill Gates said, learning to code helps your thinking in all domains. When you code it forces you to break problems down into discrete chunks. Deal with little things to help solve the larger problem. This is the kind of thinking that translates from coding to every day life. If faced with any problem I don’t look at the whole overwhelming problem, but break it down into its’ smaller pieces to allow my mind to better process all the moving parts. It forces you to slow down and actually step through the problem in your head before you act upon it. It allows you to better conceptualize a problem for better solutions.

What's wrong with this picture?

Source: code.org

I believe my high school still offers these courses in some fashion and I am happy they are as it seems that more and more schools are not. It is too bad that about 9 in 10 schools are not offering computer classes (according to code.org). I hope that the code.org program will work to get more educational institutions to see the value in teaching these courses. That being said, we’re living in a new generation. The fact that schools may not offer these programs shouldn’t stop someone from learning these skills. There are a number of great resources out there for free. That is the beauty of this technology age – all you have to do is look.

It doesn’t have to be about making a ton of money, (not that it hurts!), but there is such a huge opportunity here for people of all ages to pick up some new skills that can not only help themselves but also maybe help others.

I challenge you to try coding once. It’s not for everyone but when you make a computer say “Hello World” there is something oddly fulfilling about it.

Erik

The Father