Skip to content

whoisbma/Code-2-SP17

Repository files navigation

Code-2-SP17

PUDT 2112 A, CRN 5581
6 East 16th St., Room 1109
Mondays 12:10-2:50 PM, Spring 2017
Office hours by appointment

In Data Poetics, we build upon our skills developed in Code 1 by moving beyond the image. We will take a closer look at the capacity of computers to process, interpret, visualize, and generate information, while studying everything from avant garde computational literature to the sociocultural implications of contemporary big data.

Through our study of the applications of regular expressions, Markov chains, web scraping, data visualization, and semantic networks, we’ll write client and server-side Javascript, creating browser extensions, Twitter bots, and our own custom APIs, drawing from speculative and critical design to investigate the connections between culture, technology, and information.

Learning Outcomes

1 - Demonstrate knowledge and application of fundamental front-end and server-side programming skills in Javascript, using P5.js and Node.js.

2 - Demonstrate skill with the command line and github.

3 - Publish work on the internet via custom-built websites, browser extensions, and bots.

4 - Manipulate data and text critically, via APIs, databases, and regular expressions.

5 - Critically discuss and create work drawing from historical precedents of computational literature, critical design, and data visualization, as well as understanding the internet as a site for potential intervention.

Assessable Tasks

Class Participation - Participation in this class is vital. This includes being on time, asking questions if you need help, being engaged with the material, and seeking out solutions or help when you run into difficulties. If I have to pursue you in order to get you to turn in work or address chronic low effort, absences, or tardiness, it’s a bad sign. No phones, social media, etc. in class. Use common sense - I’ll be present and engaged and I expect you all to be too.

Homework - Homework will be assigned on a weekly basis and will typically be an application of whatever was covered that day, to be turned in the evening before the next class via publishing on your github.io site. Grading for work will be based on if technical goals for the work is met, with a penalty for tardiness or incompleteness. Work can be made up and extra effort on correcting mistakes will be noted.

Midterm - The midterm is an extended, 2-week homework assignment that will be assessed along the same criteria as homework, with added emphasis on quality of execution beyond technical completeness. Midterms must be presented in class on time to receive full credit.

Final - The final project will be a polished work drawing from one or more of the topics of the course, that illustrate both conceptual and technical competency with the material. Finalized constraints will be discussed in class. Grading of the final will reflect the success of a project in relation to the learning outcomes, assignment constraints, in-class presentation, and effort/being on time.

Extra Credit / Special Considerations - Discuss with me if you have any special considerations (for example, if you’ve covered this material before). Extra credit may or may not be distributed based on effort and class participation.

Final Grade Calculation

Class Participation - 10%

Homework - 40%

Midterm - 20%

Final - 30%

Course Outline

Week 1 - January 23

  • HTML DOM manipulation in developer tools
  • Terminal, Git, Github.com review
  • Homework: Set up github.io site, Terminal/HTML/CSS review and experimentation

Week 2 - January 30

  • Introduction to Javascript
  • Sublime Text, Package Control, GitGutter, Markdown preview
  • P5.js, differences between Processing and P5.js
  • P5 app vs. manual P5 app setup, SimpleHTTPServer
  • Homework: P5.js sketch, Eloquent Javascript Ch. 1-2

Week 3 - February 6

  • Basic string manipulation methods
  • HTML canvas element, HTML DOM interaction
  • SublimeLinter for JS linting
  • Homework: DOM interaction with P5.js sketch, Eloquent Javascript Ch. 3-4

Week 4 - February 13

  • Oulipo, DADA and the cut-up method, Erasures
  • String and text manipulation in Javascript
  • Text analysis, readability index
  • Homework: Text generation/analysis

Week 5 - February 27

  • Regular Expressions
  • Browser extensions part 1
  • Homework: Start midterm

Week 6 - March 6

  • Browser extensions part 2
  • Poetic forms
  • Concordances
  • Homework: Complete midterm

Week 7 - March 13

  • APIs in P5.js, JSON, data visualization
  • Wordnik, New York Times, openweathermap
  • Text Generation, markov chains, n-grams, grammars
  • Rita.js, Project Gutenberg
  • Node.js, NPM, Express
  • Homework: Server-side text generation

Week 8 - March 27

  • Twitter bots (polling)
  • Heroku, AWS, now.js
  • Homework: Twitter bot

Week 9 - April 3

  • Twitter bots (streaming)
  • Databases, mongodb
  • Homework: Database test

Week 10 - April 10

  • Custom APIs, data models
  • Homework: Custom API and data model

Week 11 - April 17

  • Web scraping
  • Homework: Start final project

Week 12 - April 24

  • Other JS frameworks and tools
  • D3, three.js, two.js, Angular, React
  • Homework: Continue final project

Week 13 - May 1

  • In-class work
  • Homework: Continue final project

Week 14 - May 8

  • In class work
  • Homework: Complete final project

Week 15 - May 15

  • Final project presentations

Readings

(Adjustments TBA)

  • Eloquent Javascript - Marijn Haverbeke
  • A User’s Guide To Détournement - Guy Debord, Gil J. Wolman
  • Uncreative Writing, Chapter 2, Language as Material - Ken Goldsmith
  • Programmed Visions, Computers That Roar - Wendy Hui Kyong Chun
  • Virtual Muse: Experiments in Computer Poetry - Charles Hartman
  • Introduction to Electronic Literature: A Freeware Guide

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages