Networked Media Summer 2017

Instructor: Shawn Van Every
Email: Shawn.Van.Every@nyu.edu
Office Hours: Sign Up
Class Wiki: https://itp.nyu.edu/~sve204/cgi-bin/pwiki/wiki.pl?Networked_Media_Summer_2017_Class_Wiki

Description

The network has become a fundamental medium for interactivity. It makes possible our interaction with machines, data, and, most importantly, other people. Though the base interaction it supports is simple, a client sends a request to a server, which replies; an incredible variety of systems can be and have been built on top of it. An equally impressive body of media theory has also arisen around it's use.

This hybrid theory and technology course will be 50% project driven technical work and 50% theory and discussion. The technical work will will utilize JavaScript as both a client and server side programming language to build creative systems on the web. Technical topics will include server and client web frameworks, such as Express and Angular, HTML, CSS, templating, and databases. The theory portion of the course will include reading and discussion of past and current media theory texts that relate to the networks of today; included in this will be works by Marshal Mcluhan, Wendy Chun, Lev Manovich, Philip Agre, Tiziana Terranova, and more.

In short, this course will be about developing full-stack web applications (such as anything from the beginnings of Google, YouTube, and Twitter to class registration systems and other purpose built system) as well as thinking, reading, and discussing the implications with a culture and media theory perspective.

Grades

Grades will be determined according to the following breakdown:
Please see ITP's statement on Pass/Fail which states that a "Pass" is equivalent to an "A" or a "B" while anything less would be considered a "Fail".

Weblog

It is expected that everyone in the class will create and maintain a blog for their assignments.

Be sure to enter your name, preferred email address and the URL to your blog (you can always edit this later) on the class wiki.

Listserv

This class is very participatory in nature and discussions will certainly take place outside of the classroom. Along with the blog, one of the primary vehicles for these discussions (as well as administrative issues) will be the listserv.

Laptops and WiFi

Laptops and WiFi available are valuable tools for use in the classroom. Unfortunately, they can very easily be a distraction as well. Since this class is technical in nature and we'll likely be trying code and looking at online resources laptops use will likely be very useful. We should though be courteous to one another and when we have outside guests, during discussion or student presentations laptops use should be curtailed.

Technical Assignments

We will have assignments that are relevant to material from the previous class. These assignments are required and you should be prepared to show/talk about them in class. This is 25% of your grade.

Presentations

Each class, staring with the 3rd we'll have student lead presentations on the readings assigned. The format should be a short summary presentation (10-15 minutes) on the reading and then to lead the class in a discussion around the reading and the topics introduced/presented (15-20 minutes).

Here is the current list of chapters/articles that you'll choose from. (This list is still evolving and will be complete by the end of the week for you to choose): https://itp.nyu.edu/~sve204/cgi-bin/pwiki/wiki.pl?Networked_Media_Summer_2017_Reading_Schedule

Weekly Reading

Each class, there will be assigned reading and student lead presentations and discussion. You are expected to do the reading and write a short (300 word) response on your blog in preparation for the discussion.

Attendance

Attendance is mandatory. Please inform your me via email if you are going to miss a class. Habitually showing up late for class or an excessive number of absences will adversely affect your grade.

Class Participation

This class will be participatory, you are expected to participate in discussions and give feedback to other students both in class and participate with their projects. This (along with attendance) is 40% of your grade.

Midterm Projects

Half way through the course we'll have midterm projects. These will be short projects, essentially the same effort as a normal homework assignment but one of your own choosing that you This will comprise 20% of your grade.

Final Projects

Class will culminate final projects. You are expected to push your abilities to produce something that utilizes what you have learned in the class that is useful in some manner to yourself or the world. This will comprise 20% of your grade.

Books/Websites

Reading assignments will be given out on a weekly basis and in general will be handouts and/or online articles. No books are required for this course but here is a list of other resources that might come in handy:

  • HTML & CSS Book
  • JavaScript and JQuery Book
  • Lynda.com (Free access through NYU)
  • Weekly Schedule

    Class 1

    Introduction: What is "networked media", Client-Server, TCP/IP, DNS, HTTP, Servers, Node.js, Basic Web Server
    Class 1 Notes
    Assignments:
  • Add your name, preferred email address, and blog URL to the class wiki
  • Read and respond to Vannevar Bush's As We May Think on your blog.
  • Make a work of hypertext art, fiction, or poetry, put it online with a simple node based HTTP server and link to it from your blog. Some Inspiration may be found in Rhizome's Artbase, in particular their Hypertext Collection
  • GitHub Education Pack

  • Class 2

    Server Side JavaScript with Node.js, NPM and Node Packages, Express Basics, and HTML Forms
    Class 2 Notes
    Class 2 Server
    Assignments:
  • Pick 2 readings/dates and add yourself to the class wiki
  • Do the reading for next class, create a short (300 word) blog post in response
  • Build a simple Express application which takes in data from a form and outputs the results on an HTML page. An example might be a quote generator or a guestbook but feel free to build something of your own creation.

  • Class 3

    Basic Datastore, Express Templates, CSS, and the JavaScript DOM
    Class 3 Notes
    Class 3 Server
    Assignments:
  • Do the scheduled reading and write your (300 word) response: class wiki
  • Get your previous assignment working with NeDB and Templates. If you are feeling ambitious, starting adding some front-end layout and design elements using CSS, and JavaScript where appropriate

  • Class 4

    Templates, CSS, JavaScript DOM continued
    Data Storage
    Class 4 Notes
    Class 4 Server
    Assignments:
  • Do the scheduled reading and write your (300 word) response: class wiki
  • Start thinking about a midterm project idea
  • Continue building your projects, now using databases, templates, client side JavaScript.

  • Class 5

    Data Storage Continued
    Class 4 Notes
    Class 5 Server
    Assignments:
  • Prepare midterm project ideas to present next class
  • Do the scheduled reading and write your (300 word) response: class wiki
  • Create or update a project to include a search through records in a database

  • Class 6

    Midterm Project Ideas Work Better: Creating Node Packages, Using Git
    Class 6 Notes
    Assignments:
  • Midterm Project
  • Do the scheduled reading and write your (300 word) response: class wiki

  • Class 7

    Midterm Project Presentation
    AJAX with JQuery, Building Simple Web Services
    Class 7 Notes
    Class 7 Server
    Assignments:
  • Do the scheduled reading and write your (100 word) response: class wiki

  • Class 8

    Cookies and Sessions
    Class 8 Notes
    Class 8 Server
    Assignments:
  • Try out both AJAX and cookies/sessions
  • Do the scheduled reading and write your (100 word) response: class wiki

  • Class 9

    Logins and File Uploads
    Class 9 Notes
    Assignments:
  • Do the scheduled reading and write your (100 word) response: class wiki
  • Final Project Ideas: On your blog, detail your final project idea(s). Start with a description, consider why you want to do this and how you are going to accomplish it. Perhaps draw a system diagram and/or wireframes.

  • Class 10

    Final Project Proposals
    Using advanced Web Services (OAuth, Facebook, Twitter, etc)
    Class 10 Notes
    Assignments:
  • Work on your final projects!
  • Do the scheduled reading and write your (100 word) response: class wiki

  • Class 11

    Final Project Workshop and Additional Topics
    Assignment
  • Final Projects!
  • Document your final project on your blog, start with the idea, include some demonstration documentation (pictures/video), described how you feel about the project and where you want to go with it next

  • Class 12

    Final Project Presentations