| title |
|---|
| CTH-2016 |
Course prepared for the UvA in 2016
Full content available here
Course Synopsis / Description
In this module students will learn how to read and write computer code. Rather than writing discursive texts to address certain cultural artefacts, as it is usually and rightly practiced in the Humanities, students learn how to write software to perform machinic readings of these artefacts. By learning how to write code in a contemporary programming language and how to interpret the workings and effects of their programs, students develop a type of literacy that allow them to conduct novel types of Humanities observations, explorations and expressions when addressing contemporary culture and its digitally mediated objects and subjects.
At the end of the course the student is able to:
- Apply knowledge of basic programming skills that carry over to almost all programming languages
- Demonstrate a comprehension of software’s composition and functioning that goes beyond its mere usage
- Demonstrate a basic knowledge of natural language processing and automatic text generation
- Demonstrate knowledge of contemporary browser-based scripting and client-server networking
- Demonstrate a critical understanding of the place code and software literacy has within the Humanities
- Reflect on experience in project-based collaborative humanities research
Syllabus
Week 1 (02/11) — Command Line Interface (CLI)
Topics:
- Setup environment
- Command Line Interface
- Version Control
Texts:
- Friedrich Kittler. "Code (or, How You Can Write Something Differently)"
- Vilém Flusser. "The Codified World"
- Stephen Ramsey. "Learning to Program"
Links:
Week 2 (09/11) — Scripts & Executions
Topics:
- Scripts & Interpretation
- Variables, Arrays, Loops & Functions
- Librairies
Texts:
- Nick Montfort. Introduction (p.1-16) / 10 PRINT CHR$(205.5+RND(1)); : GOTO 10
- Geoff Cox & Alex McLean. Double Coding / Speaking Code: Coding as Aesthetic and Political Expression
- Christopher Strachey. Love Letters
- Noah Wardrip-Fruin. "Christopher Strachey: The first digital artist?"
- Noah Wardrip-Fruin. "Digital Media Archeology"
- David Link. LoveLetters_1.0 - Archive
Assignment#1 due (08/11/16 13:00)
Week 3 (16/11) — Clients, Servers & Browsers
Topics:
- Synchrounous Processing / Asynchrounous I/O
- Network Protocols, Topologies & Infrastructure
Texts:
- Tim Berners-Lee. "The World Wide Web: Past, Present and Future"
- Alex Galloway. Physical Media / Protocol: How Control Exists After Decentralization
- Paul Dourish. "Protocols, Packets, and Proximity"
Assignment#2 due (15/11/16 13:00)
Teams for final project are formed during the class.
Week 4 (23/11) — Graphical & Programming Interfaces
Topics:
- Interface: Foregrounds / Backgrounds
- Browser Interpretation, Rendering & Events
- Librairies & Application Programing Interfaces (API)
Texts:
- Christian Ulrik Andersen & Søren Pold. "Manifesto for a Post-Digital Interface Criticism"
- Critical Rendering Path
- W.J.T. Mitchell. Image / Ctitical Terms for Media Studies
Assignment#2 due (22/11/16 13:00)
Each team pitch their project ideas during the class.
Week 5 (30/11) — Natural Language Processing
Topics:
- Text & Interpretation
- Text Analysis
- Close / Distant Reading
- Close / Distant Writing
Texts:
- "What Is Distant Reading?"
- Stephen Ramsay. "Algorithmic Criticism"
- Mark V Shaney. “I Spent an Interesting Evening Recently with a Grain of Salt”
- William S. Burroughs. "The Cut-Up Method of Brion Gysin"
- Six Selections by the Oulipo
- William Gillepsie. "The Oulipo: Constraints and Collaboration"
Week 6 (07/12) — Advanced Topics / Reflections
Topics: On demand
Texts:
- Alan Liu. "Where is the Cultural Criticism in the Digital Humanitites?"
- Michael Dieter. “The Virtues of Critical Technical Practice”
- "Jodi's Infrastructure"
During this session, time will be allocated to answer questions regarding final projects.
Week 7 (14/12) — Final Project Presentations
Assignments
- Assignment #1: Bookstore (CLI)
- Assignment #2: (Love) Letters
- Assignment #3: Localhost's Imitation Game
Each individual assignment will be posted on the day of the class (weeks 1, 2, 3).
Final Project
The final project is a group project that needs to be presented and handed in in the final week of the course (week 7). The topic of the project is open for you to decide but must be signed off by the instrutor not later than two weeks (week 5) before the presentation.
Assessment / Grading
Grading for the module consists of (1) three assigments scheduled to be delivered during first part the block and (2) a final group project that will be presentated during the last session of the semester.
- Assignment #1 (15%) - due week 2 (08/11/16 13:00)
- Assignment #2 (15%) - due week 3 (15/11/16 13:00)
- Assignment #3 (15%) - due week 4 (22/11/16 13:00)
- Final group project (45% — individually graded) - due week 7 (14/12/16)
- 15-minute presentation of final project (10% — individually graded) (14/12/16)
Assignments are handed in on the day before the next scheduled session, that is, Tuesday at 13:00 at the latest. Assignments are graded on three aspects: 1) does the code work and execute as intended, 2) is the code clearly structured and documented and 3) is the code efficient.
The final project and presentation is a group assignment. Groups will be arranged at the start of the semester on week 2 and each group will give a short pitch of their final project on week 4. Students are free to choose their topic, but must gain approval at least two weeks in advance of the final project's due date (14/12).
Each group must create a final project portfolio (a repository on Github). The deadline to hand in this portfolio is week 7 (14/12). The final project presentation also takes place in week 7. A successful presentation will include a demonstrated ability to field questions from the audience.
Study load
This course is equivalent to 6 EC, or a study load of 168 hours, resulting in approximately 24 hours per week:
- 7 x classes of 2 hours (14 hours total)
- 3 x assignments (30 hours total)
- Weekly required tutorials and further reading work (72 hours total)
- Final project (52 hours total)
Instructor
David Gauthier
d.gauthier@uva.nl
BG1 - Turfdraagsterpad 9
Kamernummer: 1.01E
Office hours by appointment