edit upload recent print


* WikiDocs

Main » Syllabus


Instructor: Daniel C. Howe
Brown/RISD Spring 2009

Course #: CSCI 1950C
Time: Monday, 7:00-9:20pm
Contact: dhowe[at]mrl.nyu.edu


This workshop will explore advanced tools and techniques for the creation of innovative and expressive works of digital art. Lectures will address the application of best practices from the software design community to the context of artistic practice. In the first section of the course, students will exercise their aesthetic, conceptual, and technical skills on a set of 'mini-projects' exploring the analysis, generation and presentation of computationally-augmented literary texts. Assignments will include web-text mining, feature extraction, grammars, generative algorithms, and statistical techniques. During the second half of the course, students will focus on a larger work of their own design, participating in regular critiques throughout the development cycle. Though assignments will focus on digital literature, a wide range of artistic media will be explored, including sound, image, video, 3D and installation. Collaboration is encouraged. Permission of the instructor required.


Students are expected to arrive on time to all sessions, complete weekly assignments, and contribute to class critiques and discussion. Students will put together an online portfolio to showcase their work, and complete a final project. Please be on time. If you are more than fifteen minutes late, you will be considered absent. If you have to miss class for any reason, let me know, and be sure to check with me or your classmates for work you may have missed. More than one unexcused absence and you risk failing the class. Assignments are due at the beginning of class. Make sure you back up your work - lost or corrupted files do not excuse you from handing in assignments.

No laptops are to be open during critiques.


  • Introductions
  • Course Requirements
  • Course Tools (Processing, Eclipse, RiTa, etc.)
  • Review: Programming Basics
  • Object-Orientation
    • Objects and Classes
    • Packages / Scope / Statics
    • Inheritance and Interfaces
    • Events, Listeners & Threads
    • Polymorphism
  • Debugging 101 (and 2-9)
  • Using IDEs (Eclipse, etc.)
  • Design Patterns (Singleton, Delegate, Event-Listener, etc.)
  • Leveraging Data - Relational, Object-oriented and unstructured data-sources.
  • Recombination and Literary Form
    • Recombinant Poetics - Haiku, Sonnets, and Sestinas
    • Rhyme, Metrics, Story-grammars, etc.
    • Poetry/Story Generators
    • Historical Precursors
      • Analog Precursors
        (Cutups, Dada, Oulipo, Cage, Mac-Low, etc.)
      • Conceptual Poetics
  • Grammar-based Approaches
    • The Chomsky Hierarchy
    • Finite-State Machines
    • Context-Free Grammars
    • Augmented Grammars
  • Statistical Approaches
    • Frequency & Concordance
    • Keyword-In-Context (KWIC)
    • Huffman Coding °°
    • N-Grams and Markov Models
  • Semantics
    • Propositional logic
    • Associative Semantics
    • Latent Semantic Analysis (LSA & HAL )
    • Ontologies (WordNet, VerbNet, FrameNet)
    • Common-sense Databases (OpenCyc)
  • Web-tools and Text-mining
    • Regular Expressions
    • RSS / HTML / XML
    • Sentence extraction
    • Semantic Web (SPARQL)
    • Java->AJAX with GWT
  • Feature Analysis
    • Metric & Phonemic Analysis
    • Text-To-Speech & Phonemic Substitution
    • Parsing Sentences, Words, & Syllables
    • Parsing Part-of-Speech & phrase-structure
  • Visualization/Auralization
    • Integrating Animation & Sound
    • Designing 'Text-Behaviors'
      • (Non-)Linear interpolation
      • Interactive Behaviors
      • Generative Algorithms
        (CAs, Flocking, L-Systems, Particle Systems)
  • Programming for 3D
    • Tools, Libraries and Setup
    • Affine Transforms (Translate, Rotate, Scale)
    • Lighting / Camera / Perspective
  • Working with a Lexicon
    • Types of Data
    • Databases and SQL
    • MinEdit & Soundex Algorithms
    • 'Literary' features:
      • Alliteration
      • Rhyme
      • Homophones
      • Sub/superstrings
  • Advanced Topics °°
    • Dynamic Programming
    • Analysing Algorithms
    • Profiling CPU/Memory
    • Modeling w' UML



Instructor: Daniel C. Howe



Page last modified on November 05, 2009, at 01:52 PM EST