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

  • Beyond Processing and into Java
  • The String Class
  • File I/O
  • Simple Analysis
  • Regular Expressions

  • Regular Expressions
  • egrep
  • Java Regex Package
  • Splitting with Regex
  • Search and Replace
  • The Concordance

  • Binary Search Tree
  • Updated File I/O
  • Concordance
  • Bayesian Text Analysis

  • Hash Tables
  • Bayes’ Rule
  • Spam Filtering using Bayesian Analysis
  • Spiders

  • (some catch-up from week 3 & 4)
  • URL grabbing
  • Linked Lists
  • Being Polite
  • Finding new URLs
  • A Crawler Class
  • Mining

  • HTML (yuck)
  • XML / RSS (yum)
  • APIs (googly del.icio.us tasty treat!)
  • WordNet

    Generative Text

  • Chance Operations & Probability
  • LSystems
  • Genetic Algorithms
  • Threads

  • independent threads
  • synchronized threads
  • making p5 libraries
  • 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:

  • class del.icio.us
  • Machines Visions: Towards a Poetics of Artificial Intelligence
  • The Nora Project
  • Electronic Literature Organization
  • Text Liberation Society
  • Oulipo
  • Gnoetry
  • Travesty
  • Computational Linguistics
  • Electronic Poetry Center
  • Jackson Mac Low
  • John Cage
  • Humument
  • Texts and Technology
  • Grand Text Auto
  • Google Poem Generator
  • Nick Montfort
  • TextMine
  • Linguistic Data Consortium at Penn
  • Inform
  • TADS
  • WordNet
  • Aargh
  • Poetry on the Road

  • 4 Responses to “Programming from A to Z”  

    1. 1 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

    2. 2 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!

    3. 3 shiffman

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

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

    1. 1 Explorations through ITP » Blog Archive » spring semester is over


    Leave a Reply