[Humanist] 23.81 programming for poets

Humanist Discussion Group willard.mccarty at mccarty.org.uk
Wed Jun 17 10:03:53 CEST 2009

                  Humanist Discussion Group, Vol. 23, No. 81.
         Centre for Computing in the Humanities, King's College London
                Submit to: humanist at lists.digitalhumanities.org

  [1]   From:    Thomas Crombez <thomas.crombez at ua.ac.be>                  (57)
        Subject: Re: [Humanist] 23.79 programming for poets?

  [2]   From:    Doug Reside <dougreside at gmail.com>                        (18)
        Subject: Re: [Humanist] 23.79 programming for poets?

  [3]   From:    Stephen Ramsay <sramsay.unl at gmail.com>                    (72)
        Subject: Re: [Humanist] 23.79 programming for poets?

  [4]   From:    Willard McCarty <willard.mccarty at mccarty.org.uk>          (61)
        Subject: programming for poets and students of poetry

        Date: Tue, 16 Jun 2009 10:11:00 +0200
        From: Thomas Crombez <thomas.crombez at ua.ac.be>
        Subject: Re: [Humanist] 23.79 programming for poets?
        In-Reply-To: <20090616040350.8DE361B8F8 at woodward.joyent.us>

In my experience, students from literature & linguistics are  
indifferent if not hostile to computer programming. However, that only  
makes the problem of finding a course that appeals to them even more  

First, I would chose the most elegant and simple language available --  
as close to pseudo-code as possible. That's Python, in my opinion.  
(Although Processing would make an interesting candidate too -- for  
textbooks, see "Visualizing Data" by O'Reilly, and "Processing: A  
Programming Handbook for Visual Designers and Artists"). I believe  
that beginning a course with an interactive Python session,  
demonstrating the simple Python objects (strings, lists, dictionaries)  
and what you can do with them (e.g. compiling a wordcount dictionary  
from a digital string of text) can be very illuminating, even for  
absolute beginners.

Maybe a good approach for a course like this would be to work your way  
through a number of interesting examples. In that way, students (even  
digibetes and digiphobes) learn to acknowledge the power of simple  
programming tools. For example, one could lead them through building a  
simple spell-checking script that contacts the Google API, or a script  
that crawls a website and indexes its contents, or a word-counting  
script ... A new kind of book (between textbook and cookbook) that  
does a very good job in this regard is "Programming Collective  
Intelligence" by Segaran, also from O'Reilly.

That brings me to the question of textbooks. There's a beautiful  
online tutorial called "Programming for Historians" by William Turkel  
and Alan MacEachern, which is really suitable for everybody, including  
the absolute beginners. And it includes a lot of natural language  
processing, too. The NLTK book (which "Natural Language Processing  
with Python" will be based on) is also available online, and a very  
good resource, if more tailored to strictly linguistic aims.
Is the title of your course by accident inspired on "Unix for Poets"?  
-- that's an interesting document that (I believe) can still be found  
online, also a very quick and nice introduction to programming for  
linguists, although it uses a toolset that is today most definitely  
outdated and (even if powerful in its own right) a little too abstruse  
for beginners (the typical Unix tools such as awk, sed, etcetera).
As for Perl -- I know it's the language most popular among linguists,  
and although it's probably very powerful, it makes for incredibly ugly  
and unreadable code. As Larry Wall himself once said: "I'm reminded of  
the day my daughter came in, looked over my shoulder at some Perl 4  
code, and said, 'What is that, swearing?'" Once you've compared that  
to a few lines of Python's pseudo-English, there's no going back.

Best, Thomas Crombez

website zombrec ••• flemish theatre reviews 1919-1939  
corpustoneelkritiek.org ••• performance art register belgium is  
happening ••• corpus pieter t'jonck theatre and dance reviews ••• boek  
het antitheater van antonin artaud

        Date: Tue, 16 Jun 2009 07:14:47 -0400
        From: Doug Reside <dougreside at gmail.com>
        Subject: Re: [Humanist] 23.79 programming for poets?
        In-Reply-To: <20090616040350.8DE361B8F8 at woodward.joyent.us>

I teach such a course, but have mostly made up my own material.

The course notes, created with little thought for design and still
containing some errors, are at http://mith.info/eng428v

Recently, though, students have expressed a desire for a paper text.  I bet
they still want an online component for copying and pasting code snippets,


        Date: Tue, 16 Jun 2009 10:10:42 -0500
        From: Stephen Ramsay <sramsay.unl at gmail.com>
        Subject: Re: [Humanist] 23.79 programming for poets?
        In-Reply-To: <20090616040350.8DE361B8F8 at woodward.joyent.us>

On Mon, Jun 15, 2009 at 11:03 PM, Humanist Discussion Group <
willard.mccarty at mccarty.org.uk> wrote:

help me ponder the need for teaching computer programming/scripting to
> students in the digital humanities;

I have taught a course like the one you describe for about seven years.  The
audience has varied a bit over the years, but mostly consists of students in
English and History.

> Questions (your wisdom greatly desired):
> (1) Is there a market/need for a textbook that teaches programming
> using examples from   text analysis?  If so, what do you consider the
> audience(s)?

I think there will be a market as computing becomes more and more a part of
general education (as I think it will).  I've known plenty of humanities
students who have taken courses in CS programs.  Their biggest complaint is
that all of the examples are oriented toward mathematics (compute the
factorial, generate the Fibonacci sequence, etc.).  I don't get the sense
that this is a showstopper for them; they would simply prefer to encounter
what they don't know with some mooring in what they already do.  All of my
examples and exercises use textual problems, and there's much greater
emphasis on things like string types, XML, and regular expressions.

Of course, you wouldn't be the first to propose this.  There's a suprisingly
long history of books entitled "[Some language] for Humanities Computing."
The latest (and most innovative) in this genre is Bill Turkel's superb
online monograph, *The Programming Historian* (

(2) We currently teach an introductory programming course for the
> humanities called ‘Computing for Poets’; do you teach such a course?
>  If so, what language do you use? What text are you using?

First, let me say that I hope your course is not literally called "Computing
for Poets."  If so, I think your faculty should consider the ways in which
this title demeans your students' abilities and assists not only in the
balkanization of the academy, but in the highly questionable -- if not, in
some cases thoroughly essentialist -- idea that disciplines correspond to
irrefragable elements of gender, race, personality type, or some other
attribute.  You would never dream of having a course called "Logic for
Girls" or "Poetry for Frat Boys."  Five minutes of considered thought on the
subject should convince you that you are in similar territory.  (I'm
assuming that the course is not literally concerned with generative poetics
-- a subject that is considerably older than computer science).

Certainly, there is no reason to suppose that computing courses geared
toward humanists (on analogy with the computing for biologists courses you
suggest above) would have to be radically simplified.  No one in my
university's CS program will dispute the fact that my courses are
considerably more advanced than the lower-division courses for majors in
computer science.

I use Ruby as the language and *Programming Ruby* as the book (I'm
considering an alternative to the latter this summer).  I like Ruby because
it is easy to get started with it and it supports a number of different
programming paradigms, but I think you could make a compelling case for any
of the scripting languages (or even for the Lisp dialects).  Some of my
students have gone on to Java and a few have (for various reasons) gone on
to C/C++.  There are a handful of concepts in those languages that I am
unable to illustrate with Ruby, but by the time I'm done with them, my more
highly motivated students have acquired enough of the foundational concepts
of computing to grasp whatever new thing is set before them.  I also
regularly point out the ways in which different languages handle different
concepts -- in part, to reinforce the point that the concepts don't vary
widely from language to language.

When I first taught the course years ago, I had three (very nervous) English
graduate students.  Now I teach split-level courses to graduate and
undergraduate students from a wide range of humanities disciplines, and
every semester I end up having to turn people away.


Stephen Ramsay
Assistant Professor
Department of English
Center for Digital Research in the Humanities
University of Nebraska-Lincoln
PGP Public Key ID: 0xA38D7B11

        Date: Wed, 17 Jun 2009 08:59:45 +0100
        From: Willard McCarty <willard.mccarty at mccarty.org.uk>
        Subject: programming for poets and students of poetry

Mark LeBlanc's question about a course in programming for humanists is 
timely. I wouldn't call it "programming for poets" because in a U.S. 
context that tends to carry the pejorative implication of a watered-down 
course given for those without the inclination if not abilities to learn 
the subject. But it is worth reflecting on Margaret Masterman's attempts 
in the 1960s and 70s to persuade us that the computer is analogous to a 
new musical instrument, but for all creative artists, at the time poets 
in particular, to adapt for their purposes. Thus in the Times Literary 
Supplement for Thursday, 6 August 1964 (directly opposite an open letter 
in support of the publication of William Burroughs' Naked Lunch):

> To some people a digital computer is a mark of doom: a symbol of
> Man's increasing servitude to the Machine. To others it is a gigantic
> multiple switch which, under favourable conditions, operates with the
> speed of light, but which often, e.g. when it gets too hot, will not
> operate at all. To others again it is a puzzle-solving work of the
> most exhausting possible kind, punctuated by frustrations when the
> programs fail or 'get bugs' -- which is normally.
> To all of those, however, the computer is undoubtedly Science. I want
> to advocate a gayer and yet more creative use of it which is, by
> definition, Art: a use which, in the hands of a master, might indeed
> become Art itself.
> This use is making toy models of language.... (p. 690)

For us students of poetry and other cultural artifacts I'd think one of 
the main things, if not the main thing, would be attention to examples. 
Those of us with mathematical training have no difficulty getting 
fascinated by abstract problems (e.g. "find all Canadian postal codes in 
the following list of addresses, separate these addresses from the rest 
and write them into a separate file"). But usually students in the 
humanities need to have the connection between such manipulation and 
their interest in real-world literary problems, say, made rather more 
obvious. This, then, raises the question of what such problems might 
look like -- not an easy task to answer.

That's not all. If we want to make the case that must be made, we have 
to get beyond problem-solving to problematizing, from providing evidence 
for interpretation (that happens somewhere and somehow else) much closer 
to the interpretative act itself. In "The Computer in the Orwellian 
Year" (Reflections on America, 1984: An Orwellian Symposium, ed. 
Mulvhill), Joseph Weizenbaum argued that,

> The computer [has] introduced the concept of "problem solving"
> massively-into modern consciousness--not that it wasn't present
> before, say, 1950. Of course it was. But the computer was hailed as
> the great problem solver, the machine to which one gave one's
> problem, an algorithm for solving problems and which, once the
> start-button was pushed, produced a solution to one's problem.... (p. 131-2)

If programming is to appeal intellectually to students of the 
humanities, then the image of computing, its con-figuration as that 
which can put an end to all questions one can pose to it, has to be put 
into the context of scholarly questioning. To return to Masterman's 
point: why would we want to make toy models of language? Wouldn't it be 
better to understand how the toy fails us, how language goes beyond our 
constructs? Isn't this the point of all theories of language, 
literature, indeed of anything at all, from the perspective of research?


Willard McCarty, Professor of Humanities Computing,
King's College London, staff.cch.kcl.ac.uk/~wmccarty/;
Editor, Humanist, www.digitalhumanities.org/humanist;
Interdisciplinary Science Reviews, www.isr-journal.org.

More information about the Humanist mailing list