Instructor: Nick Montfort, nickm at nickm dotcom, coachmontfort on IM, 14N-233
Class meets Mondays and Wednesdays, 9:30am - 11am, 2-103
Office hours: Wednesdays 1-2pm and by appointment (in person or via IM)
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.844 for graduate credit. One of the six sections of this course covers material explored in greater depth and more comprehensively in 21W.772 Digital Poetry. Another 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 can be taken at any point relative to this course.
The course serves a wide range of students interested in text and digital media, from artists and creative writers who want to create digital literary works to those interested in online and in-game advertising. The course builds on the Writing and Humanistic Studies Program's extensive undergraduate offerings that relate to digital media: Interactive Narrative, Digital Poetry, Becoming Digital, Transmedia Storytelling, Communicating with Web-Based Media, Writing for Videogames, and Writing for Social Media.
For those who want to take a single course on digital writing, this course offers one of several options. For majors and minors, this course will help to provide a deep and broad education in digital media and writing. For students 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.
I no longer require students to attend an outside event, as I have in the past. If what we cover in the course does interest you, however, I recommend that go to any of the many events, talks, and exhibits that are happening in town during the semester, for instance, a reading/presentation in the Purple Blurb series, a digital media exhibit at Boston Cyberarts Gallery or another local space, sometimes including Harvard's Carpenter Center and the List Gallery on campus.
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. There is a brevity requirement, particularly important for programs developed from scratch: The core of your program (the part that satisfies the assignment) should be no more than 200 lines, including comments. Note that programs 1/4 this size or less can be perfectly acceptable. If you are modifying an existing program, the use of longer code can be all right.
The specifics below are all tentative (unless they are missing). The first unit is more or less complete, although specifics works will be added. This schedule will be elaborated throughout the semester.
Assignments and their due dates are noted. Readings will be linked; all of them will be available on the Web.
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.
Bring your computer. Based on a comment in the previous class, we’ll take a look at the classic game/booklet Mad Libs and fill out some Mad Libs oursevles. Then, we'll do a quick in-class exercise that involves modifying my poetry generator "Lede," which is based on a real sentence found on the Web.
Paper 1 assigned, due Feb 24. 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.
Meet in our regular room. Today we’ll devote some more attention to existing combinatorial text projects, including one that combines word and image and plays on a particular genre of writing, the art-historical biography.
Given the enrollment, we will also begin workshop discussion of Program 0.5. The program is not due (and does not need to be turned in) until Monday, but I will ask for volunteers to show their work and allow the class to discuss it.
Program 0.5 workshop: Program 0.5 due (for everyone) for discussion in class.
Program 0.5 workshop, continued.
Program 1 assigned, due Feb 26. 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 - specifically, Commodore 64s.
Paper 1 due (for everyone). Bring it on paper to turn in.
Program 1 presentations. Program 1 due (for everyone) for discussion in class.
Program 1.5 assigned, due Mar 10. Write a program to transform an existing (arbitrary) text in a way that is somehow pleasing and that engages with language and with literary qualities or methods. This can involve classic text-transforming methods, such as n-gram generation based on Markov processes, or rule-based substituions in the tradition of "good old-fashioned AI" or classic systems for amusing text transformation. The programs should be general to English texts, and do not need to be based on particular writing practices (see program 2.5 for that).
A suite of popular early computing text transformations, namely Swedish Chef, Jive, Valley Girl, and Pig Latin, are implemented online with C source code. For some context, see how the Swedish Chef deals with dough. He is based on a famous resident of Cambridge, Massachusetts. Also, the "I speak jive" scene for Airplane and Barbara Billingsley on this scene.
Character-based chaining transformations, including the well-known Markov chain, are implemented by CharNG.
Guest: Poet Karen Randall, editor of The Ill-Tempered Rubyist.
A simple expletive infixation program, to give an idea that something can be done with very little - in this case, 25 lines of well-formatted Python. You can find a bibliography about this linguistic phenomenon on Language Log.
A more complex (but still rather simple) example of a general text-transformer, this one to automatically create erasure poetry, The Deletionist.
Program 1.5 workshop: Program 1.5 due for discussion in class.
Artist Páll Thayer joins us for workshop discussion.
Program 1.5 workshop, continued.
Program 2 assigned, due Mar 19. Revise program 1.5, or rework it, or set off in a new direction based on how that project went.
Discussion of paper 1, research techniques, engagement with scholarship, citation.
Program 2 presentations. Program 2 due (for everyone) for discussion in class.
We took some shortcuts, which are fine for work in this class. To deal with two limitations in the Python I shared...
You can replace
'source.txt' (including the quotation marks) with
argv and include the line
from sys import argv up top to process whatever file is specified on the command line (as in
python Program2.py article.txt). Of course you have to invoke your program from the command line, rather than double-clicking on it, for this to work.
Re-wrapping lines can be done after reading the text in and processing it; you can accumulate everything in a single line instead of printing lines out one at a time. Then, you can use
textwrap. Of course, rewrapping poetry might not be desirable.
Program 2.5 assigned, due Mar 17. 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 Apr 23. 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: Lolcats image macros, 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.
More on Oulipo, Noulipo, and traditional forms. Discussion of Oulipo readings. Here is a link to an (Internet Archive) copy of the Table of Forms.
Program 2.5 workshop: Program 2.5 due for discussion in class.
Program 2.5 workshop, continued.
Program 3 assigned, due Apr 16. Revise program 2.5, or rework it, or set off in a new direction based on how that project went.
Digital pieces based on pre-existing forms and constraints.
No preparation for class is required; work on program 3.0 and paper 2.
We will read from and discuss the following in class:
The questions we'll use as starting points are: What form or constraint is this piece "implementing"? How exactly is it doing that?
Program 3 presentations. Program 3 due (for everyone) for discussion in class.
Paper 2 due (for everyone).
Program 3.5 assigned, due May 5. 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 2.5 should be interactive (this part is new from earlier programs) and demoable, 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.
Today in class: Remaining program 3.0 presentations, questionnaire on the class, in-class play and discussion of two "artgames" that engage text specfically:
Note that the first link is to the work itself, while the other two links are to documentation of these two works.
Program 3.5 workshop: Program 3.5 due for discussion in class.
Program 3.5 workshop, continued.
Program 4 due. (for everyone) for discussion in class.
We'll conclude with a collaborative in-class digital writing activity.
The Writing and Communication Center (12-132) offers free one-on-one professional advice from lecturers who are published writers and experienced college teachers. They offer advice about all types of academic, creative, and professional writing and about all aspects of oral presentations. They offer advice also about applications, theses, CVs, etc. To register with our online scheduler and to make appointments, go to https://mit.mywconli ne.com/index.php . To access the Center’s many pages of advice about writing and oral presentations, go to http://cmsw.mit.edu/ writing-and-communic ations-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.
According an official communication sent me, "MIT has a policy of no policy regarding the use of laptops and other electronic devices in classroom." The instructor also has a policy of no policy regarding the use of laptops and other electronic devices in classroom.