ENGL 579: Literary Programming (Fall 2016)

Course Information

Schedule Number 21320
Class Days: Mondays and Wednesdays
Class Times: 2:00–3:15pm
Class Location: Arts and Letters 104

Instructor: Dr. Adam Hammond
Office Hours Times (and by appointment): Mondays and Wednesdays, 10–11:00am
Office Hours Location: Arts and Letters 213
Email: ahammond@mail.sdsu.edu

Course Overview

This course offers a hands-on introduction to the literary applications of computer programming. Whereas standard introductions to programming focus on instrumental tasks and problem solving, we will approach programming for its creative and critical possibilities. What new forms of poetry and prose can be composed through programming? What new insights can we gain intro literary texts with the aid of programming? In addition to learning programming as a means of creativity and inquiry, we will investigate the history of “algorithmic” literature and criticism through readings in Oulipo, Interactive Fiction, and computational text analysis. This course will provide you with a solid foundation in the Python programming language as well as fundamentals in Processing, HTML, CSS, and the command line — all of which are immensely marketable skills for humanities graduates. No previous programming experience is expected or required, but a genuine desire to learn programming is required. Students already well versed in programming are welcome, but are advised that much of the coursework will consist of learning basic programming skills.

In this course you will:

  • Write and modify programs in the Python and Processing programming languages, modify programs written for the web (HTML/CSS/Javascript), and use the command line
  • Critique programming code in terms of its validity (whether and how it works), its intention (what it is designed to do), its artistic dimension, and its social and political implications
  • Present your code to fellow students, explaining it in terms of validity, intention, artistic dimension, and social and political implications
  • Recognize the creative possibilities of programming from a literary and artistic perspective
  • Analyze the history of rule-based literary fiction, poetry, and videogames
  • Most generally: take control of your computer; stop seeing it as a “black box”; move beyond consumption — using existing interfaces and tools, inhabiting existing networks — toward empowered, active production
  • Have fun (seriously)

Course Materials

This course has a required textbook, available from the SDSU Bookstore:

  • Exploratory Programming for the Arts and Humanities by Nick Montfort (MIT Press)

Additional materials are linked from the syllabus and/or available on Blackboard.

All the software used in this course is free.

Course Structure and Conduct

This is a lecture-discussion-lab course. It will be run in a manner similar to a writing workshop or art studio course: you will regularly present your work for critique and critique the work of others. Participation and attendance is absolutely crucial for this course.

We will discuss sensitive subjects in this course. I expect all students to respect all other students during these discussions. In accordance with California state law, discrimination based on the following categories will not be tolerated: race, color, national origin, religion, sex, disability, age, genetic information, marital status, sexual orientation and identity, AIDS/HIV, medical condition, political activities or affiliations, military or veteran status, or status as a victim of domestic violence, assault, or stalking.

Course Assessment and Grading

Your final grade will be based on the following:

Quizzes (25%)

  • Quizzes will be given regularly to assure comprehension of core concepts.

Code Critiques (25%)

  • Much of our class time will be taken up by “Code Critique” sessions, in which selected students present their weekly projects to the rest of the class, and other students will offer constructive feedback. You will be assessed on the quality of your presentations as well as the quality of your contributions to the work of others.

Selected Project + Essay (20%)

  • Toward the halfway point of the semester, you will submit a selected project (one of the “Free Projects” you’ve completed to this point) along with a short essay (500-750 words) discussing it in technical, literary, and cultural terms.

Final Project (30%)

  • At the end of the semester, you will complete a final project. You will present this project for critique in class and submit an essay (1000-1250 words) describing it in technical, literary, and cultural terms.

Late policy

All late assignments will be reduced 3% per day, including weekends. Assignments will not be accepted more than one week after the due date.

Attendance and Participation

Attendance is necessary. If you anticipate missing more than three class sessions, please drop this course. If you are a campus athlete, please provide a complete list of classes you will miss by September 14th.

Students with Disabilities

If you are a student with a disability and believe you will need accommodations for this class, it is your responsibility to contact Student Disability Services at (619) 594-6473. To avoid any delay in the receipt of your accommodations, you should contact Student Disability Services as soon as possible. Please note that accommodations are not retroactive, and that accommodations based upon disability cannot be provided until you have presented your instructor with an accommodation letter from Student Disability Services. Your cooperation is appreciated.

Academic Honesty

The University adheres to a strict policy regarding cheating and plagiarism. These activities will not be tolerated in this class. Become familiar with the policy (http://www.sa.sdsu.edu/srr/conduct1.html). Any cheating or plagiarism will result in failing this class and a disciplinary review by Student Affairs.

Examples of Plagiarism include but are not limited to:

  • Using sources verbatim or paraphrasing without giving proper attribution (this can include phrases, sentences, paragraphs and/or pages of work)
  • Copying and pasting work from an online or offline source directly and calling it your own
  • Using information you find from an online or offline source without giving the author credit
  • Replacing words or phrases from another source and inserting your own words or phrases
  • Submitting a piece of work you did for one class to another class

If you have questions on what is plagiarism, please consult the policy (http://www.sa.sdsu.edu/srr/conduct1.html) and this helpful guide from the Library: (http://infodome.sdsu.edu/infolit/exploratorium/Standard_5/plagiarism.pdf)

Course Schedule

Date Texts Code Critique Assignment
August 29 Modifying a Program (Ch. 1)
August 31 “String Theory” (What is Plain Text?)
September 5 No Class (Labor Day)
September 7 NM, Introduction (pp. 1–17) and Installation and Setup (pp. 19–26)
September 12 NM, Calculating (Ch. 2) and Double Double (Ch. 3)
September 14 Chs. 2 & 3 cont’d. “A Modified ‘Double, Double'” (p. 54)
September 19 NM, Programming Fundamentals (Ch. 4)
September 21 Ch. 4 cont’d. “Another Modified ‘Double, Double'” (p. 77)
September 26 Programming Challenge #1: Conditionals and Iteration
September 28 Programming Challenge #1 cont’d PC#1 (“Name Checker,” “Mad Libs” or “Poetry Evaluator”)
October 3 Programming, IF, and the Dawn of Videogames

Play around in one of:

October 5 Programming Challenge #2: A Very Simple IF Game
October 10
  •  Emily Short, Galatea (2000) [Hint: hit “Enter” for the action to begin.]
October 12 Programming Challenge #2 cont’d PC#2 (Your Very Simple IF Game!)
October 17 NM, Standard Starting Points (Ch. 5)
October 19 Ch. 5 cont’d. “Modify and Improve a Starter Program” or “A Starter Program” (p. 104)

Having done one of the above, also do the exercise “Critique My Starter Programs” (p. 105)

October 24 NM, Text I (Ch. 6)
October 26 Ch. 6 cont’d. The first three Exercises on pp. 121–123. Selected Project + Essay due
October 31 Ch. 6 cont’d  All of the Exercises on pp. 121–123.
November 2 Oulipo and the Poetics of Constraint

  • Stephen Ramsay, Reading Machines, Chs. 2 and 3 (on Blackboard)

Programming Challenge #3: Making a Text Generator

November 7 Oulipo and the Poetics of Constraint cont’d PC#3: Text Generator
November 9 NM, Text II (Ch. 7)
November 14 Ch. 7 cont’d.
November 16 Ch. 7 cont’d.  “A Poetry vs. Prose Shootout” (p. 145)
November 21 NM, Text III (Ch. 10)
November 23 No Class
November 28  Ch. 10 cont’d. “Creative Conflation” or “Your Very Own Classifier”
November 30 Randomness and the Digital Sublime:

December 5 In-class workshop
December 7 In-class workshop
December 12 In-class workshop
December 14 In-class workshop and Onward (Ch. 15)
December 16, 3:30-5:30pm Presentation of Final Projects Final Projects due

Additional Notes

This syllabus is subject to change.

Your remaining in this class constitutes acceptance of the conditions outlined in this syllabus.

Please be aware that we will discuss sensitive issues in the course, related to topics such as race, gender, sexual orientation, and politics.