In Cornell’s mission statement, one of the university’s core values is “thinking otherwise,” a phrase coined by Carl Becker to describe the entrepreneurial spirit and intellectual diversity of the university. It’s time we start living up to that ideal, and we can start by changing core curricula to reflect the rise of computer programming and the benefits provided by studying it.
This concept and the debate around it are slowly gaining prominence. Nonetheless, the current discussion has largely been confined to state policy debates over public secondary education. Last year, a state legislator in New Mexico proposed counting computer programming as a foreign language for students in public high schools. The New York Times also ran an op-ed critical of the idea of replacing foreign languages with computer programming. However, this is a false dichotomy.
Most students have some exposure to foreign languages before coming to Cornell. Computer programming should not replace the language requirement, but be a viable option for fulfilling it. This would allow students an additional degree of personalization to tailor their undergraduate work towards their academic interests and professional goals.
Imagine two economics majors with differing career aims: one is considering a future in international business, and the other is an aspiring financial analyst. Their academic interests, professional goals, and pertinent future qualifications are vastly different. Allowing the first student to immerse himself in the study of a foreign language while the other develops a marketable skill provides the best education and preparation to both students.
In college, there is an ever-present balance between pre-professional studies and a strong liberal arts foundation. Both are crucial— the benefits of a liberal arts education don’t matter if a student can’t get a job, and strictly pre-professional programs miss the mark on the intellectual rigor that should characterize college. This change in curriculum does not erode this balance. Rather, it increases the efficacy of the divide by maintaining elements of both, thus allowing students to receive credit for pursuing subjects they are passionate about.
This change would contrast sharply with today’s prevailing attitude; many students slog through a romance language only to fulfill the requirement, never having meaningful interaction with the subject or intentions of utilizing it in the future. What good is this? How does this help students? This certainly does not typify all students— many have a passion for the study of language. However, for those who don’t, this change provides an alternative pathway with the same benefits of the traditional language requirement.
The Department of Foreign Languages at Auburn University has an excellent list of reasons to study a foreign language. They include: improving analytical skills, increasing creativity and problem solving ability, enhancing one’s understanding of abstract concepts, and promoting greater opportunities in medicine, business, government and industry. All of these effects also apply to computer programming. Some would even argue computer programming has greater potential than foreign language to affect the desired learning outcomes.
There is a variety of interesting student perspectives on this topic. Scott Seidenberger ’16 argued passionately for implementing a programming option into the foreign language requirement. Having studied Russian at the graduate level in addition to minoring in information science, he asserts that, “Foreign languages challenge critical thinking skills and allow students to relate to information in a different manner. Computer programming also fulfills these ends.”
James Cassell ’17 posited, “Languages are just a construct used to transmit information between two entities. Computer programming communicates information to both computers and humans, and serves as a language between them.”
Passionate defenders of foreign languages would argue that introducing a programming option dilutes the purpose and potential of the foreign language requirement. However, it isn’t useful for students to study a traditional foreign language if they can hone similar skills from a more desirable and economically beneficial option.
Innovation, progress, and creative thinking are all ideas Cornell prides itself on. Now it’s time to act on them. To start, computer programming should count for the ‘foreign language’ requirement in the College of Arts and Sciences. Programming exposes students to new ways of thinking, improves analytical skills, and in the age of Google Translate, is far more relevant to our futures.
01010100 01101000 01100101 00100000 01110001 01110101 01101001 01100011 01101011 00100000 01100010 01110010 01101111 01110111 01101110 00100000 01100110 01101111 01111000 00100000 01101010 01110101 01101101 01110000 01110011 00100000 01101111 01110110 01100101 01110010 00100000 01110100 01101000 01100101 00100000 01101100 01100001 01111010 01111001 00100000 01100100 01101111 01100111 00101110
As a math/computer science undergrad (’73) with a Master’s in CS, and a career-long involvement with software development, and as a person who studied Spanish and Russian in school and picked up tourist Italian, French, and Portuguese over the years, I think that studying a programming language is a reasonable substitute for a math or science requirement, not for a foreign language requirement. The fact that Spanish and Python are both called languages obscures the fact the the former is optimized for human communication and as such is, at a very basic level, hardwired into our brains at birth, and the latter is designed to allow humans to make an abstract machine do something useful. I agree that studying one or the other develops some of the same skills. But studying a foreign language brings in the history, culture, literature, and even patterns of thought of another people. Studying a computer language in lieu of a foreign language would not broaden one’s outlook on other people and cultures. It would, however, deal with some of the same kinds of concerns one finds in studying some topic in math: how to deal with logical abstractions; how to solve abstract problems; how to use behavioral evidence to infer the workings of a machine, etc. There are differences between writing a program and constructing a proof, but they are closer in spirit and required skills than writing a program and translating a passage in a foreign language.