Header image (Charactron)

Computational Letterforms and Layout (Schedule, Spring 2025)

Syllabus here. Readings should be generally available on the web, unless otherwise indicated. Some readings will only be accessible when connected to an NYU network. Please contact me if you have trouble accessing any of the readings.

Unit α: Letters as numbers

Session 01: Digital writing from scratch

Date: 2025-01-23

To-do before the next session

Please install Python on your computer. Once Python is installed, use the pip command to install Jupyter Notebook. Note that this will probably require doing a little bit of work at the command line (Terminal on macOS, PowerShell on Windows). Make sure that you can launch Jupyter Notebook on your machine before we begin next session.

NOTE: If you already have a working installation of Python 3 on your computer, you don’t need to install it again! Just use the version that you already have installed.

Here are two good tutorials on YouTube:

And here’s a more general tutorial for all platforms.

Linux users and users of other UNIX-alikes: In this class, you can probably get away with using your distribution’s default Python 3. However, you may want to research a tool like pyenv or asdf to make it easier to have multiple versions of Python available on your machine at once (e.g., your distribution’s Python alongside the latest version of Python).

Another option for many platforms is Anaconda (though please read the licensing terms).

Note that (as far as I know) there is no satisfactory option for installing Python on iOS or Android. If you only have access to iOS and/or Android, you may be better off using a web-hosted service like Python Anywhere (you will need their $5/mo service, which includes access to Jupyter Notebooks). You can also use Google Colab in a pinch.

Reading assigned

To be discussed at the beginning of session 02.

Pipkin gives a clear and friendly historical overview of character encoding. How might character encoding have turned out differently? Amiri Baraka and Ross Gay present different takes on writing interfaces. Consider the material of the tools you use for writing: where do those tools come from? What affordances do they have? What kinds of written artifacts do they produce? Weingart talks in detail about digital materiality: how is text manipulated, contorted, reconstituted, constrained in the process of being digitized and transmitted electronically? Drucker gives an overview of different types of materiality on the page and argues that text is “an event, rather than an entity. The event is the entire system of reader, aesthetic object and interpretation – but in that set of relations, the ‘text’ is constituted anew each time.” Do you agree?

Optional:

Session 02: Python introduction

Date: 2025-01-30

No homework this week. Instead, do something to beef up your Python knowledge a bit. For example, review this notebook on Python lists and loops. Then test your knowledge with this worksheet. Or try going through the first few chapters of Automate the Boring Stuff with Python (YouTube playlist of video lessons). Other good Python resources:

Session 03: Text encodings and glitch poetics

Date: 2025-02-06

Sketch #2: Glitching encoding

Due at the beginning of session 04.

Using the example code discussed in class, create a composition based on computational manipulation of data, either on a character-by-character or byte-by-byte basis.

Works and inspiration:

Unit β: On the page, against the page

Session 04: Web pages

Date: 2025-02-13

Reading assigned

To be discussed at the beginning of session 05.

Beingessner’s article is an informative overview of the technology of text rendering, and how even the most straightforward kinds of text rendering are incredibly complicated. Can you think of kinds of text that would be impossible to render with a computer? Eve gives a history of the most popular format for digital page design-the PDF-and argues that the digital page is not a “substitution of screen for codex” but instead a hybrid of conventions from many historical and physical formats. I’m especially interested in his argument that the wax tablet prefigures the “non-rivalrous malleability” of the digital screen. Li writes extensively on his techninques for writing concrete poetry (in Chinese) and strategies that have been deployed to translate it (into English). Can you think of other kinds of text or particular examples of texts that similarly resist translation? Reed’s text explores Terrance Hayes’ “Sonnet” as a limit case of concrete poetics, arguing that “in drawing attention to the ‘facticity’ of words” concrete poetry “suggests the possibilities of unsaying—speaking of the world and history without repeating the already said,” thereby enabling a unique form of witness.

Optional:

Session 05: Generating markup, part 1

Date: 2025-02-20

No homework this week, but here are some suggested activities:

Session 06: Generating markup, part 2

Date: 2025-02-27

Sketch #3: Computational concrete

Due at the beginning of session 07.

R.P. Draper says that concrete poetry “is the creation of verbal artefacts which exploit the possibilities, not only of sound, sense and rhythm—the traditional fields of poetry—but also of … the two-dimensional space of letters on the printed page.” Imagine a concrete poetry that also exploits the possibilities of computation (by, e.g., algorithmically placing words on the page). Make use of the in-class example code or other computational tools.

Some inspiration:

Unit γ: Models of the asemic

Session 07: Writing as gesture

Date: 2025-03-06

Reading assigned

To be discussed at the beginning of session 08. (Reading notes TK.)

Optional:

Session 08: Writing as data

Date: 2025-03-13

No homework this week, but here are some suggested activities:

Session 09: Plots and schemes

Date: 2025-03-20

Sketch #4: Plots without meaning

Due at the beginning of session 10.

Create a computer program that produces an asemic writing composition. Your program should implement a system of rules that produce visual artifacts that imitate the motion of physical writing or suggest the appearance of written language. Use the AxiDraw plotter to draw your piece on something (paper probably but I’m open to alternatives).

Some inspiration:

Unit δ: Type and computation

Session 10: Fonts as data

Date: 2025-04-03

Reading assigned

To be discussed in session 10.

On fonts: what they are (Lehni), how they might come to be (Grießhammer), how they work (or don’t work; Nasser), how they’re designed (Shen).

Session 11: Fonts as instructions

Date: 2025-04-10

No homework this week. Spend some time revisiting previous assignments and making small prototypes to help you figure out what you want to do for your final project.

Session 12: Wildcard

Date: 2025-04-17

Sessions 13 and 14: Final project presentations

Dates: 2025-04-24, 2025-05-01