This is an older syllabus from Spring 2006. The current version is here

Course Mailing List: http://forums.nyu.edu/cgi-bin/nyu.pl?enter=itp-text
Course Blog: http://www.shiffman.net/a2z
Course Presentation Schedule: http://www.shiffman.net/coursewiki/index.php?title=Presentations_A2Z
Office Hours Sign-Up: http://www.shiffman.net/coursewiki/index.php?title=Office_Hours

Syllabus (Spring 2006)

(tutorials, examples, readings, and assignments are on each individual week’s page)

Week 1 — The beginning

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

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

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

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

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

  • HTML (yuck)
  • XML / RSS (yum)
  • APIs (googly del.icio.us tasty treat!)
  • Week 7 — Midterm Workshop

    Week 8 — Interactive Fiction

  • why Interactive Fiction
  • how to play
  • Inform: compiling
  • Inform: coding
  • Week 9 — Generative Text

  • Chance Operations & Probability
  • LSystems
  • Genetic Algorithms
  • Week 10 — Threads

  • independent threads
  • synchronized threads
  • making p5 libraries
  • Week 11 — final project workshop

    Week 12 — final project workshop

    Week 13 — final project presentations

    Week 14 — final project presentations

    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.

    Homework
    Students are required to complete a programming exercise each week (assignments to be specified on the weekly handouts linked above). Documenation for each assignment should be posted to the course blog http://www.shiffman.net/a2z. You will need to register for an account on the blog.

    Presentations
    Each student is required to make a “research” presentation once during the course of the semester to supplement the material presented in class. 2-3 people should sign up for each week (and can present as a group or separately.) The format for the presentations is extremely open (feel free to think creatively here). They should be brief (10-20 minutes, longer for 3 people) and could include any of the following: information on related projects, a history lesson, a performance/reading, links to online sources and tutorials, book reviews, source code examples, diagrams, etc. You should include a link to documentation of your talk on the presentation schedule wiki.

    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

  • No Responses to “Programming from A to Z (Spring 2006)”  

    1. No Comments

    Leave a Reply