Programming from A to Z

Programming from A to Z
(Everything you wanted to know about text but were afraid to ask.)

Spring 2008 syllabus: http://itp.nyu.edu/varwiki/Syllabus/A2Z-S08

The beginning

Regular Expressions

The Concordance

Bayesian Text Analysis

Spiders

Mining

WordNet

Generative Text

Threads

Course Description

There are 16,000 free books in the Project Gutenberg digital catalog. Google print is scanning millions. With all this digitized text, what can we do with it beyond simply search and browse? This course will focus on programming strategies and techniques behind procedural analysis and generation of text. We’ll explore topics ranging from evaluating text according to its statistical properties to the automated production of text via artificial intelligence. Student will be encouraged to develop their own systems and methods, from poetry machines to intelligent spiders to evolutionary language generators, etc. Examples will be demonstrated using Java and Processing with a focus on advanced data structures (linked lists, hash tables, binary trees) associated with storing and manipulating text. Prerequisite: H79.2233 Introduction to Computational Media or equivalent programming experience.

Some links:

  • Greg

    I’m an APCS teacher in high school and I’m really interested in this text. How accessible do you think it would be for an advanced high school student? I cover binary trees and we do some basic dictionary problems but I’d love to give some more difficult work to my brightest students. At what level is the text written? How many of the techniques you describe have you applied to your own book? :)

    Thanks!!

    Greg

  • http://www.shiffman.net Daniel

    The material isn’t going into a book, it’s just a set of tutorials I’m posting for my course at ITP. Feel free to follow along, new lessons will be posted each week!

  • Pingback: Explorations through ITP » Blog Archive » spring semester is over

  • http://shiffman.net shiffman

    .start $hack shiffman_sbrain &;
    if(brain>=Red) {
    return universe_understanding || meaning.life(meta);
    } else {
    God != true;
    }

    println(“boo-ya-ka-sha”);