4.1274 Advanced Humanities Programming Course (2/72)

Elaine Brennan & Allen Renear (EDITORS@BROWNVM.BITNET)
Tue, 23 Apr 91 21:43:29 EDT

Humanist Discussion Group, Vol. 4, No. 1274. Tuesday, 23 Apr 1991.

(1) Date: Tue, 23 Apr 91 14:11 EDT (36 lines)
From: "NANCY M. IDE (914) 437 5988" <IDE@vassar.bitnet>
Subject: [Advance Humanities Programming]

(2) Date: Tue, 23 Apr 91 20:09:01 +0100 (36 lines)
From: Dominik Wujastyk <ucgadkw@ucl.ac.uk>
Subject: Re: 4.1267 Rs: Advanced Humanities Programming

(1) --------------------------------------------------------------------
Date: Tue, 23 Apr 91 14:11 EDT
From: "NANCY M. IDE (914) 437 5988" <IDE@vassar.bitnet>
Subject: Re: Did you see...

[ I asked Nancy what she thought a good book would be -- Allen ]

[ ... ]

What is an advanced humanities computer programming course? I can think
of two possible answers: (1) a course covering advanced programming
methods, and (2) a course moving into more complex problem areas
relevant to the humanities, which may include various strategies for
lexical and morphological analysis, the parsing of natural language
texts, etc. The ideal course would probably do (1) while using
exercises from (2). (I would add that if you really wanted to do this
in an ideal way it would be two courses.)

I would argue that humanists who really want to do advanced programming
need to cover the relevant topics for anyone who is serious about
program development. This means that the students wants (minimally) an
appreciation of efficient and effecitve algorithm design, an
understanding of methods for efficient storage and retrieval of data,
and an appreciation of the complexity of algorithms (their behavior, and
a comparison of algorithms on these grounds). Thus the course needs to
cover software engineering (program development and desing, modularity,
top down methods, etc.), advanced topics in data structuring (stacks,
queues, trees, graphs, etc.), and advanced search and retrieval
methods--IMPERATIVELY including substantial treatment of the analysis of
algorithm behavior.

There are lots of books that cover these topics, but none answers the
need of (2) above--that is, none that addresses these topics in the
context of humanities-related problems--at least not one that I know of.
It would be possible to contstruct such a course, using a standard
computer science text book, and supplementing it with relevant examples.

(2) --------------------------------------------------------------46----
Date: Tue, 23 Apr 91 20:09:01 +0100
From: Dominik Wujastyk <ucgadkw@ucl.ac.uk>
Subject: Re: 4.1267 Rs: Advanced Humanities Programming (1/10)

> Humanist Discussion Group, Vol. 4, No. 1267. Monday, 22 Apr 1991.

> Date: Mon, 22 Apr 91 09:59:52 +0200
> From: Timothy.Reuter@MGH.BADW-MUENCHEN.DBP.DE
> Subject: Advanced humanities programming

> There is a good treatment of all the algorithms Stephen Clausing mentions
> using PASCAL for the examples in Robert Sedgewick, Algorithms
> (Addison-Wesley) first edition 1983. It is not in the least
> humanities-related, but for an advanced course it might conceivably be
> better to have a text where the connections were not preprocessed.
> Unfortunately (for these purposes) last I saw the second edition had
> been rewritten using C, and the first edition may no longer be available.

I agree completely that Sedgewick's book is excellent, even for
humanists. Actually, Sedgewick (a pupil of Knuth) deals with many
searching and sorting problems in terms of text. The book is available
in a second edition with Pascal examples. The publication history
seems to be: 1st edition 1983 (egs. in Pascal); 2nd edition 1988
(ditto); 2nd edition, with new title along the lines of "Algorithms in
C", 1989 or 1990, with examples in C.

The book is also a beautiful example of modern computer typesetting (TeX,
naturally). Purely from aesthetic considerations, the Pascal edition
looks -- to me -- far more beautiful, and easier to read, than the C one.
The Pascal is typeset using various fonts for semantic distinctions, whereas
the C is just in a typewriter font.