Header image (Charactron)

Computational Letterforms and Layout

Essential information

NYU ITP, Spring 2025. Instructor: Allison Parrish. Send me e-mail.

Class schedule, including session outlines, tutorial notes, readings and assignments.

Please use this form to turn in your homework assignments.

Description

Language is more than just words and meanings. Language is material: it’s paper and ink, pixels and screens, fingertips on keyboards. In this course, students will gain an understanding of how language’s material manifestations are represented digitally, and learn computational techniques in order to create new work and new systems that challenge conventions in type design and page layout. Topics include asemic writing, concrete poetry, markup languages, character encodings, generative typography, and printing technologies (including pen plotters). Readings and lectures in the class draw from the fields of computation, critical theory, literary studies, art history, mathematics and graphic design. A series of production-oriented assignments lead up to a final project. In addition to critique, sessions will feature class discussions and technical tutorials. 

Ethos, practice, programming

“Let us have no more of those successive, incessant, back and forth motions of our eyes, tracking from one line to the next and beginning all over again—otherwise we will miss that ecstasy in which we have become immortal for a brief hour, free of all reality, and raise our obsessions to the level of creation.” — Stéphane Mallarmé, “The Book: A Spiritual Instrument,” Selected Poetry and Prose, edited by Mary Ann Caws (New York: New Directions, 1982), p. 82.

This class concerns what happens when language becomes manifest in the world, with a particular focus on forms of language or forms of manifestation that foreground computation and/or interactive media. Our methodology for approaching these themes is free-form, drawing from critical making, speculative design, creative writing, and the humanities. In particular, the class asserts that making things is one of the most effective ways of learning how to think critically.

Organization and time commitment

Around half of our time in class will be dedicated to lectures, presentations and discussions of assigned readings. The other half will be dedicated to hands-on tech tutorials that demonstrate how to make new work, using computational techniques similar to (or inspired by) those used in the works we’re discussing.

Students will be assigned a series of “sketches” on these topics, which encourage you to make something (an object, an intervention, a computer program, etc.) that engages with, expands upon and/or challenges the content of our discussions. We’ll spend a good deal of time in class “workshopping” the results of these meditations.

By the last class session, students will be literate in practical, historical and theoretical approaches to language as it is manifested in the world. Students will have made several prototype projects that exercise this literacy and a final project that shows their mastery of the material presented in class.

You should expect to spend, on average, six to eight hours per week on work for this class (excluding time spent in the classroom).

Materials and tools

Software

Wherever possible, this course focuses on open source software, and on doing things from scratch. It’s true that many of the techniques we’ll look at can be accomplished with the click of a button in commercial design and media production software, and it’s also true that open source software can’t often compete, feature by feature, with commercial software packages. However, open source software does have significant advantages: first, you can use it without paying rent; second, in using, adapting, and contributing to open source software, we contribute to a body of knowledge that belongs to everyone; and finally, open source software allows us to look at the “guts” of the techniques under discussion in the class, so we can better understand them.

The primary programming language in the tech tutorials in this class is Python. Some familiarity with programming is assumed (ICM or equivalent); no previous familiarity with Python is needed. We’ll spend a handful of sessions near the beginning of the class getting students up to speed. Complete notes for most tech tutorials will be supplied as standalone, easy-to-modify Jupyter Notebooks. Students are encouraged and expected to apply their own expertise in computation, design, and fabrication to the work they produce in this class.

Readings

Readings are made available either as links to documents on the web or as handouts. Generally, the first twenty to thirty minutes of alternate classes will be devoted to a discussion of the reading.

Assignments and project expectations

This class has four deliverables: three sketches and a final project.

Please use this form to turn in your homework assignments.

Sketches

In addition to complying with the parameters of the sketch as outlined in class and schedule, you are expected to post (to your blog) documentation of your sketch. This documentation should include a description of what goals you set out with, what you accomplished, what your next steps would be if you were to continue to follow this line of investigation, and what works (artworks, literature, your own research, academic papers, etc.) you understand your work to be in dialogue with. For sketches that require programming, your documentation should include a link to your code.

Students may be called upon (and are encouraged to volunteer) to present their work in class on the due date. Sketches will not be accepted after their respective due dates.

Final project

The final project is free-form. Use it as an opportunity to show your understanding of class material through the process of making something that critically engages with it.

There are two deliverables associated with the final project:

Due dates and scheduling for the final project will be posted on the class schedule.

Evaluation rubric

Work will be evaluated according to the following criteria: compliance, gregariousness, and stubbornness.

Each assignment will be assigned a score of 0, 1 or 2 in these categories, in accordance with the extent to which the assignment demonstrates the properties described.

Each category will be weighted equally when assigning a final score to each assignment.

Grading Policy

Component Percentage
Attendance and participation 32%
Sketches 3 x 12% (36%)
Final project 32%

Here’s the breakdown of how grades correspond with percentages.

Grade Percentage
A 90 to 100
B 80 to 89
C 70 to 79
D 60 to 69
F Below 60

For students taking the class as pass/fail (i.e., all ITP students), anything below a B (79% and below) will be graded as a fail. More information on ITP’s grading policy here.

Note that you must complete all deliverables in order to receive a passing grade.

Attendance, lateness and in-class behavior policies

You are expected to attend all class sessions. If you’re going to be absent, please give me as much notice as possible (via e-mail), preferably before the beginning of class on the day of your absence. If you’re not feeling well (and especially if you have an illness resulting from an easily transmissable pathogen, such as COVID-19, influenza, or even a cold), please stay home and rest! You’re doing a favor to yourself and your community.

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.

I ask that everyone close their laptops and give full attention to their peers during student presentations (unless dictated otherwise for accessibility reasons on an individual basis). While I’m presenting, I expect you’ll be taking notes or following along on your laptop, which is fine.

On the use of large language models and automated code generation tools

If I asked you a question to your face, it would be rude to use an automated tool to produce a response. Same goes for your blog posts and assignments: they’re not there just for show; they’re a way for you to communicate with me (and the rest of the world).

Using large language models while trying to learn how to program is like bringing your chauffeur to Driver’s Ed.

This class is about computation; I’m teaching you the code so you know how it works, not just so you can do stuff with it. For the purposes of this class, it is a violation of the academic integrity policy to use LLM-generated code in your assignments and projects without citation. Any use of code from tools like ChatGPT must be accompanied by the following information: (1) the name of the tool that you used; (2) the prompt(s) that you used to produce the code (if applicable); (3) a thorough review of the generated code in which you explain what the code is doing, and identify any concepts or functionality contained in the code that we have not discussed in class.

Consider that large language models do not produce facts, and anything fact-like that they seem to produce is cut off from the chain of provenance that lets us verify information and participate in discourse with others involved in the topic area at hand. If a large language model “says” something, you always need to actually find out if it’s true.

Also: here in the roaring ’20s, we’ve been living with generative tools for some time, and the fact that something was produced from a generative model no longer automatically makes it interesting.

Statements from Tisch School of the Arts

Statement of academic integrity

Plagiarism is presenting someone else’s work as though it were your own. More specifically, plagiarism is to present as your own: A sequence of words quoted without quotation marks from another writer or a paraphrased passage from another writer’s work or facts, ideas or images composed by someone else.

Collaboration is highly valued and often necessary to produce great work. Students build their own work on that of other people and giving credit to the creator of the work you are incorporating into your own work is an act of integrity. Plagiarism, on the other hand, is a form of fraud. Proper acknowledgment and correct citation constitute the difference.

Tisch Student Handbook

Statement on accessibility

It’s crucial for our community to create and uphold learning environments that empower students of all abilities. We are committed to creating an environment that enables open dialogue about the various temporary and long-term needs of students and participants for their academic success. We encourage all students and participants to discuss possible accommodations that would best support their learning with faculty and staff. Students may also contact the Moses Center for Student Accessibility (212-998-4980) for resources and support.

Moses Center for Student Accessibility

Statement on counseling and wellness

Your health and safety are a priority at NYU. Emphasizing the importance of the wellness of each individual within our community, students are encouraged to utilize the resources and support services available to them 24 hours a day, 7 days a week via the NYU Wellness Exchange Hotline at 212-443-9999. Additional support is available over email at wellness.exchange@nyu.edu and within the NYU Wellness Exchange app.

NYU Counseling and Wellness Center

Statement on use of electronic devices

Laptops and other electronic devices are essential tools for learning and interaction in classrooms. However, they can create distractions that hinder students’ ability to actively participate and engage. Please be mindful of the ways in which these devices can affect the learning environment, please refrain from doing non-class oriented activities during class.

Statement on Title IX

Tisch School of the Arts is dedicated to providing its students with a learning environment that is rigorous, respectful, supportive and nurturing so that they can engage in the free exchange of ideas and commit themselves fully to the study of their discipline. To that end, Tisch is committed to enforcing University policies prohibiting all forms of sexual misconduct as well as discrimination on the basis of sex and gender. Detailed information regarding these policies and the resources that are available to students can be found on the website of the Title IX office.

Statement of principle

Teachers and students work together to create a supportive learning environment. The educational experience in the classroom is one that is enhanced by integrating varying perspectives and learning modes brought by students.