Speakers
Description
Teaching computer programming in the digital humanities (DH) presents a unique challenge given the different epistemologies at play in such a classroom. The following questions guide our efforts: How do students trained in the humanities respond to computational approaches? What should be the pedagogical priorities? Using the case study of our “Programming for Digital Humanities” master course and following a summary of the decisions leading to the course’s present curriculum, this paper presents data derived from the analysis of student coding scripts alongside student reflections from the mentioned above on-line course.
Like the DH international master programme at Linnaeus University, the programming course in question is the product of an interdisciplinary team of computer scientists and humanities scholars. This, along with the sensibilities of students with humanities backgrounds, meant confronting different learning cultures (humanities vs computer sciences), approaches to coding (instrumental programming vs exploratory programming), and learning outcomes (programming skills vs computational thinking).
The paper begins with a synopsis of the course’s iterative development as it confronted the tensions described above. Following this, the paper analyses the data to examine students’ programming strategies and their experience from the 2020 cohort. Text mining and process mining techniques were applied to the codes written by students. Alongside each code script students also submitted a report reflecting on how they approached the task, issues encountered, and any reference sources they used for “inspiration” when coding. Brennan & Resnick’s (2012) framework for assessing computational thinking (CT) was applied to examine the performance of students across various programming tasks. The two dimensions of this framework – computational practices and computational perspectives – were adopted for this analysis, with six sub-themes in total mobilized for the content analysis (Hsieh & Shannon, 2005) of the data.
The CT framework was found to be insufficient and was extended with an additional sub-theme to computational practices: generalizing. Despite recognizing the shortcomings of their solutions and their own limits at discovering more optimal/elegant solutions, several students expressed satisfaction with their attempts, and define them as creative practices rather than an instrumental one.
The paper concludes on how the gained insights have been used to guide our current efforts that included the development of a series of supplementary lectures series (from a non-computer scientist perspective) on exploratory programming (Montfort, 2021) as well as to prime students in earlier, non-programming courses to begin familiarizing themselves with code in self-contained exercises.