/detourning-the-web

Syllabus and example code for 7-week class at NYU/ITP

Primary LanguagePython

Detourning the Web

####ITP/NYU - Spring 2017 - Thursdays from 6:30pm to 9:00pm ####Sam Lavigne - lavigne@nyu.edu (office hours by appointment or before class)

Detournement is the practice of "hijacking" cultural or artistic materials and reusing them to produce new works that both counter and explicate the original intent or ideology of the source material. In this class students will learn how to scrape massive quantities of material from the internet with Python, and then use that material to make satirical, critical and political projects. Each week we will cover a different web scraping technique, with production assignments relating to text, image and video.


Schedule

Week 1 - Jan 26

  • Intro & ground rules
  • HTML/CSS basics
    • Tags, attributes, classes, ids, css selectors
  • Using Chrome/Firefox developer tools
    • the DOM: what it is and how to modify it
  • In class excersize!
    • Critique a website by altering it's content using Chrome/Firefox developer tools. Save a screenshot.
  • Command line basics
  • Python basics
  • Setting up our environments with pip and virtualenv
  • Intro to web scraping with Beautiful Soup

WEEK 1 HOMEWORK


Week 2 - Feb 2

  • opening video
  • More on Python
  • More web scraping with Beautiful Soup
  • Creating and parsing JSON and CSV files
  • Manipulating text

####WEEK 2 HOMEWORK

  • Readings:
  • Project (due next class): Scrape the web, and then create a list with the material you collect.
    • Your list should be text only.
    • You can present your list in any way you want (for example: print it on roll paper, make a physical book, make a website, twitter bot, project it, recite it, etc)

Week 3 - Feb 9

  • opening video
  • First assignment due
    • Brief presentations
  • AJAX and how to deal with it
  • Web scraping with Selenium
  • Manipulating images with Python

WEEK 3 HOMEWORK

  • Readings:
  • Project (due on week 5) - pick one:
    • Create a script that acts on your behalf online.
    • Create a system that automatically manipulates images found online.

Week 4 - Feb 23

  • Downloading images
  • Manipulating images
    • imagemagick
    • Pillow
  • Calling external commands using subprocess.call
  • Manipulating video on the command line
    • youtube-dl
    • ffmpeg
    • moviepy

WEEK 4 HOMEWORK


OPTIONAL TEMPORARY AUTONOMOUS WEEK 4.5 - Feb 25


Week 5 - Mar 2

  • Second assignment due
  • More on video

WEEK 5 HOMEWORK

  • Readings:
  • Make a video using python
  • Come in with an idea for your final project to be discussed on Mar 9

Week 6 - Mar 9

  • We all make a sick video text-messaging bot
  • basic flask examples

WEEK 6 HOMEWORK


Week 7 - Mar 23

  • Final presentations
    • You can present any one project that you worked during the semester. However if you choose something you did early on, please show that you've continued to improve/iterate on the project.
  • Celebratory drinks at lame bar (whoever is richest pays for everyone)
  • Deal final, resounding blow to late capitalism & build new society in its ruins

Grading/Expectations

  • Each of the three main projects is worth 25% of your grade, and class participation is 25%.
  • More than one unexcused absense is grounds for failure :(
  • But no one will fail.
  • Close your laptops when others are presenting their work.

Resources

Learning Python

Command Line

Scraping

Text Parsing

Image

Audio

Video