Department of Computer Science and Technology

Course pages 2017–18

Critical Coding for Digital Humanities

Principal lecturer: Prof Alan Blackwell
Additional lecturer: Dr Anne Alexander
Taken by: MPhil ACS, Part III
Code: M005
Hours: 12 (Six two-hour sessions over one week)


An immersive co-teaching course, in which students from different disciplinary backgrounds work in pairs to jointly create a novel software application. The course is primarily practical, with practical work carried out on the students' own laptops. It take place over a few sessions during Easter Term.


The primary aim of the course is to gain experience of a design problem that is framed by a rigorous academic perspective outside of the science and technology sphere.

The class will be composed of graduate students from a mix of disciplines, including arts, humanities, social sciences and technology. Students will work in pairs or small groups, each with at least one technology student who will provide an element of peer-tutoring in basic programming skills. Technology students will be expected to draw on a wide range of technical skills, involving multiple programming languages, operating systems, service architectures and frameworks. No previous programming experience is required for humanities and social science students.


The software applications are expected to challenge conventional assumptions regarding the purpose and function of interactive digital systems. Those challenges should be grounded in rigorous critical thinking, drawing on diverse theoretical perspectives. Exemplars can be found in programmes such as Matt Ratto's Critical Making, Tony Dunne and Fiona Raby's Critical Design and Phoebe Sengers' Reflective Design. The practical coursework will explore issues raised in the Critical Engineering Manifesto, and Noble and Biddle's Notes on Postmodern Programming.

Research publications, conference presentations, blog entries or online video resulting from the joint work are also encouraged. In these cases, contributors should usually be acknowledged via multiple authorship.

The proposed structure for the course is as follows:

  • Session 1: "code review"
    Private discussion of work in progress from an engineering / tools perspective
    Will provide an opportunity to learn the background of the methods being used, and an opportunity for humanities participants to reflect on the technical decisions they have made

  • Session 2: "research review" - Thursday 14 June
    Attend a presentation of the results from the completed projects
    This provides the opportunity to understand the objectives and limitations of the work that was done, and also to gain more understanding of research concerns in the digital humanities community

  • Session 3: "live coding" - 18 or 19 June
    Exploratory and experimental code changes
    An experimental hack-day style session, in which you work together with a programmer who was involved in the original project, working in pair-programming style to investigate extensions.


No formal assessment is proposed. ACS students will be recognised as honorary (unpaid) demonstrators, meaning that they can use their participation as evidence of teaching experience while during the MPhil.