Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2022-2023 (archived)

Module LIBA2011: Programming for Students of Arts and Humanities

Department: Liberal Arts

LIBA2011: Programming for Students of Arts and Humanities

Type Open Level 2 Credits 20 Availability Available in 2022/23 Module Cap None. Location Durham

Prerequisites

  • None

Corequisites

  • None

Excluded Combination of Modules

  • None

Aims

  • To introduce the theory and principles of computation to students from disciplines across the Faculty of Arts and Humanities.
  • To train humanities students in the practical craft of computer programming through examples drawn entirely from the manipulation of cultural data, including texts, images and music.
  • To empower students to find for themselves the tools they will need to teach themselves further topics and to improve as programmers in the future.
  • To introduce humanities students to the culture of open-source software and open-access data.
  • To give the students an informed perspective from which to critique our increasingly algorithmic and data-driven culture.
  • To enable the students to formulate and answer data-driven research questions drawn from disciplines across the Faculty of Arts and Humanities.
  • To introduce the students to the principles of sound software construction.
  • To teach the students to write idiomatic and efficient code in the Python programming language.
  • To introduce the students to the elements of web programming.

Content

  • Variables, types, flow control, functions and data structures in Python.
  • Jupyter notebooks.
  • Object-oriented programming.
  • Testing and error handling.
  • Understanding software documentation.
  • Using external software libraries.
  • Processing unstructured text with regular expressions.
  • Parsing XML: the Document Object Model (DOM) and XPATH
  • The Text Encoding Initiative.
  • Manipulating multimedia data.
  • Basic web programming: HTML, CSS and JavaScript.
  • Web scraping.
  • Introduction to data science and machine learning.
  • Critiques of digital culture

Learning Outcomes

Subject-specific Knowledge:
  • Students will acquire an understanding of the principles and practice of sound computer programming by solving problems drawn from the various domains of the humanities.
  • An awareness of the principles of sound software design.
  • An awareness of the basic principles of complexity analysis.
  • An awareness of the main tools of the Python programming ecosystem.
  • An awareness of the principles of open-access data.
  • An understanding of the technical infrastructure of the web.
  • An understanding of the limits of data-driven analysis
Subject-specific Skills:
  • Students studying this module will develop:
  • Skills in solving problems by writing and debugging programs in Python.
  • Skills in creating complex data structures to facilitate efficient algorithmic solutions.
  • Skills in manipulating unstructured textual data.
  • Skills in manipulating texts with structured markup.
  • Skills in manipulating non-textual, multimedia data.
  • Basic skills in web programming.
  • Competence in Python programming to an intermediate level.
Key Skills:
  • Students studying this module will develop:
  • Capacity to think algorithmically.
  • Competence in manipulating textual data, including web pages.
  • Competence in manipulating non-textual data, including images and music.
  • Capacity to formulate and solve computational research problems in the humanities disciplines.
  • Competence in explaining computational solutions in clear, non-technical language

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • Programming Lectures. Weekly lectures will explain the principles of programming in general, illustrated by examples in Python. Programming Demonstrations. Each fortnight, the topic explained in the programming lecture will be further elaborated with practical code. Programming Workshops. In these sessions, students will be provided with short programming exercises on the fortnight’s topic, which they are to attempt to solve on their own computers, working alone or in small groups. Digital Humanities Lectures. These occasional lectures will be on various current problems and issues at the intersection of the humanities and digital culture. Quizzes. To ensure that students are understanding each of the topics covered, there will be a quiz every other week.
  • Formative Project Proposal: This write-up allows students to explore ideas for their final project and to get feedback that will permit them to shape it in the light of that input.
  • Final Project Report. The final project has two components, each worth 50%. The first is a report in which the students will explain the research question they are addressing, and the data and programming methods used to address it. Final Project Code Notebook. The second part of the project is a Jupyter notebook containing the code written by the student along with its documentation

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours
Programming Lectures 20 Weekly 1 hour 20
Programming Demonstrations 20 Weekly 1 hour 20
Programming Workshops 20 Weekly 2 hours 40
Digital Humanities Lectures 6 Weeks 3, 6, 9 in MT and weeks 13, 16, 19 in EpT 1 hour 6
Preparation and Reading 114
Total 200

Summative Assessment

Component: Coursework Project Component Weighting: 80%
Element Length / duration Element Weighting Resit Opportunity
Project report 3,000 words 50%
Documented code notebook N/A 50%
Component: Weekly quizzes Component Weighting: 20%
Element Length / duration Element Weighting Resit Opportunity
10 Quizzes Online/untimed 10% each%

Formative Assessment:

Students will submit a 1000 word proposal for their final project at the start of Epiphany term and will receive feedback on its suitability and on avenues for further development toward the final project.


â–  Attendance at all activities marked with this symbol will be monitored. Students who fail to attend these activities, or to complete the summative or formative assessment specified above, will be subject to the procedures defined in the University's General Regulation V, and may be required to leave the University