Tuesday, January 17, 2012

Computer Programming Should be Part of the Curriculum

I often tell my students that if they know how to write computer programs (that solve problems) that they will never be out of a job.

Computer programming (sometimes called coding, although I prefer the former term) requires knowing a computer language and being able to break up a problem that you want to have solved into component parts.

In developing an appropriate computer program or software, you have constructed a usable product.

It may involve constructing an algorithm (a series of steps) that, when executed by the computer, will deliver the answer to you, a client, or an organization.

It has even been said that automobile companies are software companies, since cars are now so dependent on computer programs.

Douglas Rushkoff, in a column, Learn to code, get a job, for CNN.com argues eloquently for coding to be on a par with knowing the alphabet and numbers or how to read and write and do math.

He notes: If you know how to code, you can get a high-paying job right now, or make valuable stuff right now. You will understand more about how the world works, and become a participating member in the digital society unfolding before us. You will be enabling America to compete effectively on both the economic and military frontiers, where we are rapidly losing our competitive advantage due to our failure to teach ourselves code.

I couldn't agree more.

My exposure to computer programming came in college at Brown University, beginning with a course in Operations Research and Linear Programming. Senior year I spent a lot of time writing code in a computer science course and getting the code to work correctly and nicely was time-consuming but also fascinating and, may I say, "addictive." Upon graduation, it was easy to get a job in the high technology sector because I had such skills and programming in assembly language to be used on submarines was my first assignment (my first industry job was at System Consultants, which had many contracts for the Navy and I was based in Newport, Rhode Island, quite the idyllic setting).

Now as a faculty member, I still enjoy implementing the algorithms to solve complex network problems ranging from supply chains to dynamic transportation networks.

Computer programming is about solving problems and it is fun!

It should be part of the curriculum and every college student (and probably high school student, as well) should have the experience of how creative and powerful of an experience it us to be able to write computer programs. We would not have Google, Facebook, or Twitter without computer code. It's hard to imagine what the world would be like without software!