Programming Language Case Studies Can Be Deep
Rose Bohrer
TL;DR
This work argues that programming language pedagogy gains depth when it moves beyond a tour of languages or paradigms to a tour of humans, mediated by detailed case studies from the HCPL curriculum. It presents five deep case studies FLOW-MATIC, Processing, Twine, Torino, and C-Plus-Equality to illustrate how design foundations from social sciences and humanities inform PL theory and practice. The paper outlines HCPL s course structure, archetypes, and assessment model, and it discusses how case studies interweave with pedagogy, inclusivity, and open education. It further argues for treating actual historically situated languages as vehicles for rigorous analysis and design, rather than abstract features alone, thereby broadening access and deepening understanding of PL design.
Abstract
In the pedagogy of programming languages, one well-known course structure is to tour multiple languages as a means of touring paradigms. This tour-of-paradigms approach has long received criticism as lacking depth, distracting students from foundational issues in language theory and implementation. This paper argues for disentangling the idea of a tour-of-languages from the tour-of-paradigms. We make this argument by presenting, in depth, a series of case studies included in the Human-Centered Programming Languages curriculum. In this curriculum, case studies become deep, serving to tour the different intellectual foundations through which a scholar can approach programming languages, which one could call the tour-of-humans. In particular, the design aspect of programming languages has much to learn from the social sciences and humanities, yet these intellectual foundations would yield far fewer deep contributions if we did not permit them to employ case studies.
