Why programming is so great and rote education is terrible

As a programmer, I am slightly biased on this issue, but the more I try to learn about different subjects (history, politics, the sciences, etc) the more it becomes clear to me that  programming is a very useful skill to have.

The first thing that it does is force me to think in a logical way, and express myself clearly and unambiguously. This is a quality that easily transfers to other domains, and makes working in those domains simpler.

Secondly, it is useful for doing some cursory research. Most of the time when I find a document or documents that contain some statistics that I am looking for, they are in some kind of annoying format, with lots of extraneous information and much of the information that I am looking for needs to be calculated. The standard way that most people solve these problems is lots of manual copy and pasting. This works, but it quickly becomes tiresome.

This is a classic example of when a little programming can come in handy. There is no need (in most cases) to go to a fully fledged language like C++, as macros in Word, regexes in Notepad++, and Excel formulae go a long way (Google Refine is also very cool, and is actually designed for this, but its not as common a product). Also a useful thing is the ability to take many files, and turn them into one file, and IDM or DownThemAll (firefox add-on) to download many files all from the same page.

Combining all of these tools makes it simple to compile large amounts of data and do useful things with them (summing, averaging, getting statistical variations, and the like), and allows me to come up with bespoke data to research claims.

The problem is that it is hard to teach this kind of thinking with rote education, as it is all about what data sources you happen to come across on a particular day. Additionally, while rote learning may make some people great a task in isolation, it often makes it harder to abstract away parts of that task and combine those ideas with another task that was learned in a rote fashion.

Additionally, while the rote learning makes sense in some cases (vocabulary words, anatomy, etc) in those cases, the internet is greatly supplanting the need for memory. If you don’t remember the definition of a word, all you have to do is google it (or use any one of many free services online). While there is some small amount of vocabulary that is needed to get by, past a certain threshold, it no longer makes sense to make an active effort to memorize complex words.

As technology becomes more pervasive, this threshold will only get lower. Consider that in the past, one needed to find a dictionary (takes minutes). This was made easier by being at a computer (electronic dictionary), and even easier with mobile phones with web access (many people carry it around all the time). If augmented reality ever catches on, it will be instantly able to do translation (Google Glass can already do this) and I imaging that word lookups are even easier. There will be little need to memorize words then. The question becomes, what makes you better than wikipedia+google+ half a dozen other websites that are littered with knowledge.

I think that the answer is that people still do a lot better an analysis than machines. We can determine what is important, connections between data, causation, and many other tasks easily where the same problems have been giving natural language researchers headaches (like sentiment analysis). To turn people into things that machines can easily replace is not something should be desirable. We should strive to excel where they cannot, and leave the things that computers are good at to computers.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s