Reading and Writing Electronic Text: ITP Spring 2012 (schedule)

Please send me an e-mail if you're having trouble accessing any of the readings.

January 25

  • introduction, course goals, syllabus
  • "reading" and "writing": the link between the two
  • character, line, text (units)
  • procedural text (methodologies and justification)
  • analogues with other media
  • UNIX intro: logging in, common commands

Reading assigned

To be discussed February 1.

Questions to guide your reading: Padgett's techniques for "creative reading" are distinctly analogue. Which of his techniques could be adopted for digital text? What ideas about how text work are "built in" to the grep command? What do you think about Glazier's "grep works"? What's more important to the outcome, the procedure or the source text? How to UNIX utilities rely on or reinforce the substance of digital text (ASCII, lines, etc.)?

February 1

  • Reading discussion
  • A tour of the literature (electronic text and procedural text)
  • The source text: choosing texts to mashup and munge
  • Python: decisions about lines

Homework assigned

Due February 8th 2012.

Homework #1. Create a Python program that behaves like a UNIX text processing program (such as cat, grep, tr, etc.). Your program should take text as input (any text, or a particular text of your choosing) and output a version of the text that has been filtered and/or munged. Be creative, insightful, or intentionally banal.

Choose one text that you created with your program to read in class.

Bonus: Use the program that you created in tandem with another UNIX command line utility.

February 8

  • Homework presentations
  • Chance operations
  • Python: simple models of text

Reading assigned

To be discussed February 15th 2012.

Questions to guide your reading: The Oulipo's conception of literature is that it consists fundamentally of constraints and procedures. Do you agree with this? "The really inspired person is never inspired, but always inspired." What does this mean? How was the Oulipo positioning itself with regard to Romantic ideals of literature? Can literature be "explored" by procedural means? What does it mean for language to be a "concrete object"? Do you agree that "all writing is in fact cut-ups"? Consider Hartman's concept of "juxtaposition"—what does it mean for texts to be juxtaposed procedurally? How does that affect the quality and interpretation of the work?

February 15

  • Reading discussion
  • Python: sets, dictionaries, list comprehensions

Homework assigned

Due February 22rd 2012.

Homework #2: The digital cut-up. Write a program that reads in and creatively re-arranges the content of one or more source texts. What is the unit of your cut-up technique? (the word, the line, the character? something else?) How does your procedure relate (if at all) to your choice of source text? Feel free to build on your assignment from last week.

Your program must make use of at least one set, dictionary, or list.

Choose one text that you created with your program to read in class.

Bonus 1: Use a method of a list, set, or dictionary object that we didn't discuss in class.

Bonus 2: Use a list comprehension somewhere in your program.

February 22

  • Homework presentations
  • Poetic forms
  • Regular expressions

Reading assigned

To be discussed February 29th 2012.

Midterm project assigned

Midterm projects to be presented March 7th.

This project has two steps. You must:

  • Devise a new poetic form.
  • Create a computer program that generates texts that conform to new poetic form you devised.

Your poetic form could be something as simple as "Each line must begin with the letter 'A'" or something as sophisticated as Mac Low's diastics.

Your presentation and documentation for this project should include the following:
  • The name of your poetic form, and a thorough description of how it works
  • The source code for the program you used to generate poems that follow your form
  • A number of "poems" that your program generated (at least three), one of which you will read aloud during your presentation
Consider the following when evaluating your work:
  • How well does the output of your computer program conform to your invented poetic form? Could a human do it better?
  • How does your choice of source text (your "raw material") affect the character and quality of the poems that your program generates?

February 29

  • Reading discussion
  • Python: Functions, modules, classes and objects

March 7

  • Midterm presentations

Reading assigned

To be discussed in class March 21st.

March 21

  • Reading discussion
  • N-grams and Markov chains

March 28

  • Context-free grammars

Homework assigned

Due April 4th 2012.

  • Option #1: Re-write or adapt one of your previous assignments or projects, wrapping its functionality in a class. (Use MarkovGenerator as a model if you're having trouble thinking of a structure for your class.) Then write a Python program that instantiates that class and uses it to generate text similar to the text that your previous program generated.
  • Option #2: Incorporate the MarkovGenerator class into one of your existing text-munging algorithms, and produce a new text using the resulting program. Try out different units (words, letters) and different orders (3-grams, 4-grams, 5-grams, 90-grams, one million-grams...). Compare and contrast the results.
  • Option #3: Prepare and present a working prototype of one of your final project ideas.

April 4

  • Homework presentations
  • Getting data from the web

April 11

  • Web applications with Tornado or visualization and interactivity with processing.py

April 20

  • Workshop day or catch-up

April 27

Final project presentations 1

May 4

Final project presentations 2