Instructor: Nick Montfort, nickm at nickm dotcom, 14N-233
Class meets Wednesdays, 2pm - 5pm, 14E-310
Office hours beginning February 14: Wednesdays 10:30am - 11:30am & by appointment
A movie pitch generator in Python 2/3. Developed, tested, edited, etc. in class using Pirate Pad in three hours. Free software; modify it yourself if you like.
Video games, digital art and literature, online texts, and source code are analyzed in the contexts of history, culture, and computing platforms. Approaches from poetics and computer science are used to understand the non-narrative digital uses of text. Students undertake critical writing and creative computer projects to encounter digital writing through practice. This involves reading and modifying computer programs, so previous programming experience, although not required, will be helpful. The graduate section includes additional assignments.
This course considers the wide spectrum of ways that text, language, and writing have been used in creative digital media, including video games, digital artworks and installations, electronic literature pieces, websites, message boards, the interface to and source code of recreational programs, and other sorts of systems and spaces. The focus is on the many non-narrative uses of text, which include the use of text for the display of information, for visual and lyrical purposes, and as human-legible computer code. The course considers these uses of text within different contexts of computing and upon different computing platforms. Drawing on concepts and approaches from poetics, the material history of texts, and computer science, the course explores how text has been used effectively in digital media and how the use of text relates to the overall goals of digital media creators.
Students interact with and read various creative computer works, supported by critical readings from the Web and printed sources. The understanding of text in digital media is developed through practice, by completing several digital writing projects, some individually and some in groups. The projects in this course involve reading and modifying computer programs. Previous programming experience is not necessary, but students should arrive ready to learn the basics of programming if they do not already know how to program. While there are no prerequisites, some experience with writing, in the form of a previous writing course or in some other form, will be extremely useful.
Graduate students may take this course, with additional assigned work, as CMS.846 for graduate credit. A complement to this course is 21W.765J/21L.489J/CMS.845 Interactive Narrative, which deals with the narrative uses of text (and other media) in digital works and which could be taken at any point relative to this course.
The course serves a wide range of students interested in text and digital media, including those who are focused on videogames and those interested in literary play and literary systems.
For Writing majors and minors as well as others who want to take a single course on digital writing, this course offers a good option. For students majoring or minoring in Comparative Media Studies, the course addresses a single aspect of digital media that is pervasive and important to our understanding of media ecology and the uses of digital media in culture. It complements courses that consider video gaming and digital media from visual, cinematic, and spatial perspectives.
Programs are assigned simultaneously with the two papers so that your critical writing can inform your creative programming practice and vice-versa. You may choose to do the two assignments in sequence and in isolation (program first, then paper, or vice-versa), but if you do, you'll miss out on the chance for the paper to positively influence your program. There is no length requirement for programs or papers; they should accomplish the goal of the assignment.
You can do work for the class using any major OS: GNU/Linux, Mac OS X, or Windows. Bring your own notebook computer or one you borrow from the IS&T Laptop Loaner Program. We will spend time in class just about every week doing some exercises or work on student projects. We meet in a classroom with good audiovisual support and movable chairs to facilitate small group work and class discussions, but we do not have a computer lab with machines for everyone.
Assignments and their due dates are noted. Readings will be linked; all of them will be available on the Web, so there are no books to purchase.
Submit your work (URLs pointing to your work on the Web) by email to me by 11am of the day it is due, so we can discuss it in class at 2pm and so I will have time to assemble links to everyone's work beforehand.
Creative computing on text is introduced though a handful of small-scale systems that do something very simple - combining text fragments uniformly at random - but nevertheless produce interesting results.
Assignment due Feb 14. Post your in-class generator exercise somewhere on the Web (using your Athena account and Web space at MIT is fine) and send me a link to it. If you want to make a few small revisions, that’s fine, but don’t spend too much time on it. The assignment is just to post what you did in class.
Additional provocative text generators:
And some more from nickm.com:
Discussion of platform/language/approach each student will choose for program 0.5.
Paper 1 assigned, due February 28. Write a short critical discussion of a particular system for random text recombination, bringing in some scholarship about combinatorics, randomness, computation, and/or the domain of the system - for instance, in the case of About So Many Things, gender stereotypes. The paper should be long enough to reach and develop some sort of significant insight - to reveal something about the system that is not obvious to begin with.
Discussion of systems being examined in paper 1.
Program 0.5 workshop: Program 0.5 due (for everyone) for discussion in class.
Also discussed today: Claude Shannon and the application of Markov processes to English ... charNG
Program 1 assigned, due March 7. Revise program 0.5, or rework it, or set off in a new direction based on how that project went.
Meet in 14N-233, The Trope Tank. Digital text viewing & programming on classic computers, including Commodore 64s.
Paper 1 due. Bring it on paper to turn in.
Program 1 (brief!) presentations fosucing on final decisions and insights gained. Program 1 due 11am for discussion during the first hour of class.
Program 1.5 assigned, due Mar 14.
Prompt/assignment: Create your own tiny computer-generated booklet using (1) a short, self-contained Python program of no more than 66 lines (80 characters/line); (2) a single printed sheet, US letter size, which can be printed single-sided or double-sided. You can cut this sheet and staple it, get even more fancy and use a pamphlet stitch, or use the 8-page zine cut-and-fold technique. Make at least six copies so we can look at them together and so you can show them around in class and trade with other students.
Program 1.5 workshop: Program 1.5 due (along with the booklet!) for discussion in class.
Program 2 assigned, due Mar 21. Revise program 1.5, or rework it, or set off in a new direction based on how that project went. Keep the one-page code restriction and the format of a one-sheet booklet. Again, make at least six copies. Each student should provide me with a copy for display in/outside of 14N-233.
Program 2 (brief!) presentations focusing on final decisions and insights gained. Program 2 due 11am for discussion during the first hour of class.
Initial examples of "Digital Forms" (relevant to the next program and paper): tweets, Yelp reviews, Amazon reviews, Internet Oracle questions and responses, .plan files in response to "finger." Let's list others...
Discussion of readings on the Oulipo. More on the Oulipo, Noulipo, and traditional forms. In-class writing exercises. Here is a link to the very useful Table of Forms.
We will read from and discuss the following in class:
Other relevant work, some of it hard to access these days:
The questions we'll use as starting points are: What form or constraint is this piece "implementing"? How exactly is it doing that?
Program 2.5 assigned, due April 11. The implementation of an originally non-digital writing procedure, of writing within a set pre-digital form, or of writing using a constraint, such as an Oulipian constraint. You should select an existing formal writing technique of some sort and implement it. You can make a system that is general (works on any source text) or not. You program can either be self-contained, with all the data it needs included within it (as in programs 0.5 & 1), or it can be data-driven and can transform texts (programs 1.5 & 2). The difference for programs 2.5 & 3 is that you are to take existing, documented writing procedures and constraints as starting points.
Paper 2 assigned, due April 18. Write a short critical discussion of a particular form of digital writing that traces one or more of its material, formal, explicit, or implicit constraints and explains something about the form in light of those constraints. The form could be popular or unpopular, low-brow or high-brow, recent or antiquated: Lolcats image macros, Advice animals, bash.org quotes, Wikipedia articles, Arts & Letters Daily teasers, Unix man pages, etc. You should characterize the form and the important constraints and reveal at least one non-obvious thing about the form through your analysis.
Program 2.5 workshop: Program 2.5 due for discussion in class.
Program 3 assigned, due April 18. Revise program 2.5, or rework it, or set off in a new direction based on how that project went.
Program 3 presentations, similar to earlier presentations. I will also ask you to summarize your discussion in paper 2 - you do not need to prepare a formal oral presentation of your paper, however. Program 3 due 11am (for everyone) for discussion in class. Paper 2 due.
In-class play and discussion of two “artgames” that engage text specfically and one digital poem I collaborated on:
Also, as an example, a slightly more than 200-line implementation of the first famous chatbot, Eliza, in Python.
Program 3.5 assigned, due May 2. Produce an interactive prototype that engages language and computation. It may be a game, may be a multimedia production, may be networked, etc. but in any case should be as simple as possible for its purpose. Program 3.5 should be interactive (this part is new from earlier programs) and capable of being shown in an interactive demo, but does not need to be fully tested and ready for arbitrary users. It also does not need to be technically complex; it should be designed to work well given your concept and the nature of the English language.
Program 3.5 workshop: Program 3.5 due for discussion in class.
Program 4 due 11am. Presentations. Discussion of how to continue, refine, test, and release projects for those who are interested. In-class interaction with other systems as time permits.
We'll conclude with a collaborative in-class digital writing activity, one that will involve the whole class in a short project.
The WCC at MIT (Writing and Communication Center) offers free one-on-one professional advice from communication experts (MIT lecturers who all have advanced degrees and who are all are published writers). The WCC works with undergraduate students, graduate students and post-docs.
The WCC helps you strategize about all types of academic and professional writing as well as about all aspects of oral presentations (including practicing your presentations & designing slides). No matter what department or discipline you are in, we help you think your way more deeply into your topic, help you strategize to convey your message more effectively to particular audiences, help you polish your style, and help you see new implications in your data, research and ideas. The WCC also helps with everything from understanding genre conventions to analyzing what particular journals require. We also help with all English as Second Language issues, from writing and grammar to pronunciation and conversation practice.
The WCC is located in E18-233. To register with our online scheduler, to make appointments, and to see detailed directions, go to https://mit.mywconline.com/. To access the WCC’s many pages of advice about writing and oral presentations, go to http://cmsw.mit.edu/writing-and-communication-center/. The Center’s core hours are Monday-Friday, 9:00 a.m.-6:00 p.m.; evening hours vary by semester–check the online scheduler for up-to-date hours.