In a post on Americablog.com, political science major Jon Green '14 reflects on his senior-year course on writing computer code and how it helped him improve his other forms of writing. Here is an excerpt from his post:
Coding is nothing more than a stripped down, abstract form of writing.
And this abstract writing comes with immediate, concrete feedback. It’s often difficult to be honest with oneself as to whether or not what they’ve written is coherent or internally consistent, but the compiler is brutally honest: If you make an error as small as leaving a semicolon off of your last line of code, your program won’t run; mess up your logic in a for loop, and you’ll get an infinite loop and your program will run forever. When someone criticizes your writing, you can tell yourself that they simply missed your point, and you may be correct, but if your code doesn’t produce the output you want you have no one to blame but yourself. It’s akin to one typographical error bringing down your entire essay.
Having my code taken literally by a computer, over and over again, forced me to stop thinking of my words as simply what I meant them to mean. I had to consider as well how people would interpret what I wrote — would they understand what I really meant? This changed the way I structured my sentences, paragraphs and chapters; making my writing clearer. When your audience is a computer, you’re forced to think as systematically as it does. Irrelevant or inconsistent claims are called out, while concise, well-organized structure is rewarded. Plus, the feedback is immediate.
They say that a liberal education is supposed to “teach you how to think.” The manner of thinking that is rewarded when you learn a programming language overlaps immensely with the manner of thinking that a liberal education seeks to foster: abstract, yet rigorously logical.
So while I will likely never program for a living, learning some coding basics made me better at what I will do from now on.
Read the Original Post