Programming Language Proficiency Exam Guidelines

Programming Language Proficiency Exam Guidelines

Knowledge of computer languages can both reveal new literary-cultural formations and serve as a powerful tool for their study. However, it should not be viewed as a substitute for foreign language proficiency, except for cases where such substitution is convincingly justified and where it is warranted by sustained, deep engagement with the material.

The following guidelines are used when evaluating graduate student requests to fulfill their foreign language as a programming (computer) language. 

  • Proficiency in computer/artificial languages should be generally viewed as a complement to the study of foreign languages.
  • The substitution is allowed in cases where a student's work benefits from computational literacy either as a subject or a method of study.
  • Students are required to articulate the exception in writing, in the form of a concise (one page) proposal. The proposal  should describe the scope of the project, relevant technologies involved, and a brief synopsis of secondary literature using similar approaches.

There are two specific cases where a computer language as a foreign language request is particularly appropriate:

  1. Where a student's projected research program involves aspects of computational culture as a subject of study. These include (but not limited to) topics in electronic literature, software studies, game studies, online deliberation, combinatorial poetics, virtual communities, fan culture, media studies, platform studies, sociology of knowledge, book piracy, politics of the archive, human-computer interaction, and history and future of the book, among other potentially relevant applications. Specific languages in this category will often include historical or otherwise obscure dialects. Examples from proposed studies include FORTRAN, 6502 Assembler (Nintendo), and Perl.
  2. Where computer languages are used instrumentally, as a method of study. For example, medievalists may wish to acquire reading knowledge of German to understand the secondary literature in that language. Similarly, a scholar of Victorian British literature will learn Python to facilitate analysis of numerous texts across long periods of time. The proposed language in this category should reasonably belong to the family of "major research languages," used in advanced courses of instruction. This list typically includes languages such as Python, R, C, Java, and Julia. It does not include markup languages such as HTML, CSS, or LaTeX, since these do not typically sustain advanced graduate research.

Format of the Exam

When possible the exam will be administered via a Jupyter Notebook following the format of similar exams in foreign languages: one “annotation” exercise that tests code comprehension and one “translation” exercise that tests for reasoning and basic literacy.  Students should expect to exhibit “intermediate” level of proficiency, equivalent to one-year’s worth of coursework in the field (or similar experience).

A sample test can be found here.

Composed in consideration of: Geisler, Michael, Claire Kramsch, Scott McGinnis, Peter Patrikis, Mary Louise Pratt, Karin Ryding, and Haun Saussy. “Foreign Languages and Higher Education: New Structures for a Changed World: MLA Ad Hoc Committee on Foreign Languages.” Profession, 2007, 234–45