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)"](./texts/kittler-code.pdf)
* Vilém Flusser. ["The Codified World"](./texts/Flusser-The_Codified_World.pdf)
* Stephen Ramsey. ["Learning to Program"](http://stephenramsay.us/2012/06/10/learning-to-program/)
* Geoff Cox & Alex McLean. [Double Coding / Speaking Code: Coding as Aesthetic and Political Expression](./texts/CoxMcLean-Double_Coding.pdf)
* [Christopher Strachey](http://rhizome.org/editorial/2013/apr/9/queer-history-computing-part-three/#_edn4). Love Letters
* Noah Wardrip-Fruin. ["Christopher Strachey: The first digital artist?"](https://grandtextauto.soe.ucsc.edu/2005/08/01/christopher-strachey-first-digital-artist/)
* David Link. [LoveLetters_1.0](http://www.alpha60.de/art/love_letters/) - [Archive](http://www.alpha60.de/art/love_letters/archive/muc/)
__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"](https://www.w3.org/People/Berners-Lee/1996/ppf.html)
* Alex Galloway. [Physical Media / Protocol: How Control Exists After Decentralization](./texts/Galloway-Phy.pdf)
* Paul Dourish. ["Protocols, Packets, and Proximity"](./texts/Dourish-PPP.pdf)
__Assignment#2 due (15/11/16 13:00)__
Teams for final project are formed during the class.
* Christian Ulrik Andersen & Søren Pold. ["Manifesto for a Post-Digital Interface Criticism"](http://mediacommons.futureofthebook.org/tne/pieces/manifesto-post-digital-interface-criticism)
* W.J.T. Mitchell. [Image / Ctitical Terms for Media Studies](./texts/Mitchell-Image.pdf)
__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?"](http://www.nytimes.com/2011/06/26/books/review/the-mechanic-muse-what-is-distant-reading.html)
* Stephen Ramsay. ["Algorithmic Criticism"](http://www.digitalhumanities.org/companion/view?docId=blackwell/9781405148641/9781405148641.xml&chunk.id=ss1-6-7)
* Mark V Shaney. [“I Spent an Interesting Evening Recently with a Grain of Salt”](http://glenda.cat-v.org/friends/mark-v-shaney/grain-of-salt)
* William S. Burroughs. ["The Cut-Up Method of Brion Gysin"](http://www.ubu.com/papers/burroughs_gysin.html)
Each individual assignment will be posted on the day of the class (weeks 1, 2, 3).
## 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)