Reading and Writing Electronic Text: ITP Spring 2016

Wednesdays, 3:20pm to 5:50pm

Allison Parrish, Adjunct Assistant Professor

Office hours: Tuesdays, 11am-1pm; Fridays, 1pm-3pm. Sign up here. Other times by appointment; please e-mail.

Turn in assignments here.


This course introduces the Python programming language as a tool for reading and writing digital text. This course is specifically geared to serve as a general-purpose introduction to programming in Python, but will be of special interest to students interested in poetics, language, creative writing and text analysis. Weekly programming exercises work toward a midterm project and culminate in a final project. Poetics/text analysis topics covered include: character encodings (and other technical issues); cut-up and appropriated text; the algorithmic nature of poetic form (proposing poetic forms, generating text that conforms to poetic forms); transcoding/transcription (from/to text); n-gram analysis and Markov chain generation; performing digital writing. Programming topics covered include: data structures (lists, sets, dictionaries); strategies for making code reusable (functions and modules); functional programming (list comprehensions, recursion); getting data from the web; simple web applications; and parsing data formats (e.g., markup languages). Prerequisites: Introduction to Computational Media or equivalent programming experience.

Ethos and practice

This is a creative writing course. After a fashion. It might be more accurately termed a creative reading course: specifically, how can we write computer programs that give digital texts interesting readings? What interesting artifacts might we thereby create?

This course is about the Python programming language. Why Python? Because it's easy to learn, it's elegant, and it makes text processing easy. It is also awesome.

This course incorporates performance. A text has many affordances, and one of those is to be read aloud. Don't expect the output of your programs to stay on the screen. The final project will take the form of a public reading: you must read or otherwise perform a text/poem/piece generated by a program that you wrote. You may be asked, when presenting your completed homework assignments, to read the output of your program aloud.

Grading Policy

Attendance and participation 33%
Midterm project 15%
Final project 20%
Homework assignments 32% (8% x 4)


This course's official textbook is Virtual Muse: Experiments in Computer Poetry by Charles Hartman. There are a number of copies in the university bookstore, or it can be ordered online.

Reading material will be assigned on alternate weeks. Readings that aren't in the official textbook will be made available either as links to documents on the web or as handouts. Generally, the first twenty to thirty minutes of each class will be devoted to a discussion of the reading.

Other recommended reading material:

Poetry books of interest (not exhaustive by any means)


You are expected to maintain a blog for this class. You'll use this blog for posting documentation of your homework assignments and projects. If you use an existing blog, please make sure that entries relating to this class are specifically marked as such (by, e.g., tags, categories, etc.). As soon as you have this blog up and running, please send me a link.

Homework expectations

There are a total of four homework assignments, which in aggregate are worth nearly one third (32%) of your grade. In addition to complying with the parameters of the assignment as outlined in class, you are expected to post (to your blog) documentation of your assignment. This documentation should include:

  1. a description of what the program does;
  2. what kind of input the program expects; and
  3. what the output of the program looks like.

Students may be called upon (and are encouraged to volunteer) to present their homework assignments in class.

Homework assignments will not be accepted after their respective due dates.

Project expectations

There are two projects in this class. (Further details will be made available)

  • The midterm project must be a program that generates poems that conform to a new poetic form of your own design;
  • The final project will take the form of a public reading: you must read aloud or otherwise perform one (or more) of the texts generated by a Python program.

You will be asked to present your projects in-class. You must also document your projects on your blog, and send links to your documentation to the instructor (by e-mail or, preferably, using this form).

Final project

The final project has three different components: presentation, documentation, and performance. Here are the details:

  1. The final project presentation should consist of (a) a performance of your piece (3-5 minutes) and (b) a presentation of your methodology (inspiration, goals, technical challenges, etc.). This presentation should last no longer than 10-12 minutes (leaving plenty of time for critique and Q&A).
  2. The final project documentation should consist of (a) the text of the piece the student plans to read (or equivalent documentation in the form of video, still images, audio recording, etc. depending on the shape the piece takes) along with (b) a discussion of methodology and (c) the Python source code for the project. (Basically, I'm expecting a nice, meaty blog post.) This documentation should be completed and on-line on Sunday, May 10th 2016 (by 11:59pm).
  3. Students will perform the piece from their final projects (date and location TBD).

Although the final project counts toward only 20% of your final grade, but you must complete the final project in all of its particulars in order to get a passing grade in the class.

Programming exercises

In addition to the homework assignments described above, students will be assigned a number of programming exercises (in the form of digital worksheets) designed to challenge and confirm their understanding of the technical concepts under discussion in the class. Completion of these exercises is optional, but recommended—in particular for students who judge themselves to be better learners when they're "on the hook" to complete directed work. (I'm one of these students, for what it's worth.)

I'll grade the programming exercises, but we won't review them in class.

Attendance policy and in-class behavior expectations


You are expected to attend all class sessions. Absences due to non-emergency situations will only be cleared if you let me know a week (or more) in advance, and even then only for compelling personal or professional reasons (e.g., attending an important conference, going to a wedding). If you're unable to attend class due to contagious or incapacitating illness, please let me know (by phone or e-mail) before class begins.

Each unexcused absence will deduct 5% from your final grade. If you have three or more unexcused absences, you risk failing the course.


Be on time to class. If you're more than fifteen minutes late, or if you leave early (without my clearance), it will count as an unexcused absence.

In-class behavior

Laptops must be closed while your fellow students are presenting work. You're otherwise welcome to use laptops in class, but only to follow along with the in-class tutorials and to take notes. (Keeping all of this in mind.)

Procedures should punch up

Read Leonard Richardson's Bots should punch up. "You can poke fun at yourself (Stephen Colbert famously said 'There's no status I would not surrender for a joke'), you can make a joke at the expense of someone with higher social status than you, but if you mock someone with lower status, it's not cool." Be sensitive to what your classmates might find offensive, triggering, or violent; be graceful and listen carefully when your work gets called out.

Academic integrity

Please review the Tisch School of the Arts Academic Integrity policy. For the purposes of this class, "plagiarism" that violates the academic integrity policy is defined as representing someone else's code (or other procedure) as your own. (We will, of course, liberally be using text that other people have written as source material for our code and procedures—this does not violate the academic integrity policy. You are, however, expected to cite the sources of these materials where possible.)

Disability accomodations

If you are a student with a disability and feel you need accommodations, you must register with the Moses Center for Students with Disabilities. They are located at 726 Broadway, 2nd fl. and can be reached at 212-998-4980 or