Programming lies at the heart of a modern education. Whether it relates to engineering, finance, or even the arts and humanities, computation is used across all fields to achieve what was once unimaginable. Yet, despite its ever-increasing prominence in industry and research, MIT has not instituted introductory computer science as a General Institute Requirement (GIR).
I find it surprising that a good number of students graduate from MIT without any kind of programming experience. I have found that those not familiar with coding often feel strongly about keeping it that way. “Why would you burden me, a student in English literature, by wasting my time to learn programming?” I am often asked with passionate defiance.
Here is why. A few nights ago, a friend of mine spent hours manually filtering and copying data from an enormous, disorganized online database into an excel sheet to perform calculations. After watching his frustration grow exponentially with the number of rows in the sheet, I offered a slight intrusion: a 20-line VBA script that automated this exhaustive task. Upon seeing this in action, his eyes light lit up with fascination and intrigue. “Teach me!” he exclaimed.
Exaggerated anecdotes aside, it is fair to say that the current lineup of GIRs, which include mathematics, physics, chemistry and biology, are complete only in the traditional academic sense. Few could argue, however, that in our typical computer-centric lives, drawing the Lewis structure of ammonium sulfate is of more practical benefit than knowing how to write programs that make everyday tasks simpler to solve.
MIT is investing extraordinary effort in re-defining the education of the future, but the focus thus far has been the online domain. In its wider context, this vision should also include a serious reconsideration of which skillsets are most critical to students of the 21st century — both on and off campus. Several courses outside of EECS do integrate programming technologies like MATLAB into class material and problem sets. Unfortunately, they can only offer brief, ad-hoc tutorials for the specific applications at hand, which do not help in developing the intuition and problem solving skills of a computer scientist. The same applies to the many CS-related IAP classes.
What is really needed is a full-blown introductory course for incoming freshmen. There already exists two fantastic computer science classes, 1.00 and 6.00, that attract a wide range of technical and non-technical students from across the Institute. In contrast to attitudes toward other GIRs, which many perceive to be a waste of time, many students feel genuinely satisfied after taking these classes, especially those who may never write code again in a professional context.
Are there administrative hurdles to be considered? Of course. I have been told that some years ago, an academic panel tasked with updating the GIRs proposed computer science, as well as probability and statistics, as potential additions. While the proposal went as far as to obtain a majority vote, it was ultimately rejected due to fears of over-burdening the already intensive academic life of MIT undergraduates. Furthermore, each department felt very strongly about preserving its own requirement, making a compromise impossible. Hiding behind the argument of “too many requirements” is neither realistic nor particularly convincing. I do agree that all the GIRs are important for a well-rounded academic experience, but it should be kept in mind that a large proportion of students have credit or ASE out of at least one GIR. Perhaps many more are already agile at coding.
The power of programming extends deep into the personal and professional world. It is time for MIT to ensure that its future graduates will all be able to tap into this power.