Comm Lab Networked Media Fall 2014 Section 2

Instructor: Shawn Van Every
Email: Shawn.Van.Every@nyu.edu
Office Hours: Wednesdays from 3 to 4 and Thursdays from 1 to 3 or by appointment. Signup: https://itp.nyu.edu/inwiki/Signup/Shawn
Group/Listserv: https://groups.google.com/a/itp.nyu.edu/forum/#!forum/networkedmedia
Class Wiki: https://itp.nyu.edu/~sve204/cgi-bin/pwiki/wiki.pl?Networked_Media_Fall_2014_Section_2_Class_Wiki

Description

The network is one of our most fundamental mediums 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.

In this course, students will utilize JavaScript as both a client and server side programming language to build creative network systems. Additionally, HTML and CSS will be used to define the structure and look.

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.

Weekly Assignments

We will have weekly 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 40% of your grade.

Attendance

Attendance is mandatory. Please inform your teacher 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.

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)
  • Lauren McCarthy's Commlab Networked Media Syllabus
  • Robyn Overstreet's Commlab Networked Media Syllabus
  • Weekly Schedule

    Week 1

    Introduction: What is "networked media", Client-Server, Basic HTTP Server, Introduction to HTML and CSS
    Week 1 Notes
    Assignments:
  • Add your name, preferred email address, and blog URL to the class wiki
  • Sign up for the Comm Lab Networked Media Listserv
  • 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 HTTP server using Servi and link to it from your blog.
  • GitHub Education Pack

  • Week 2

    Programming in JavaScript JavaScript Basics with p5.js
    Week 2 Notes
    Assignments:
  • Create an animation using JavaScript and p5.js. Allow the user some ability to interact with the animation. (You could port something you have previously built in Processing to p5.js.) Put it online with a simple HTTP server using Servi and link to it from your blog.

  • Week 3

    HTML and CSS continued
    JavaScript Events - Manipulating the Document Object Model
    Week 3 Notes
    Assignments:
  • Create a page advertising an upcoming event at ITP (or one from your imagination). Make it interactive, animated, or otherwise responsive to the user using CSS and the DOM through JavaScript. Put it online and link to it from your blog.

  • Week 4

    HTML Forms
    Web Services: AJAX and JSON
    Week 4 Notes
    Assignments:
  • Create a page that both takes input from the user and uses data from a JSON feed.

  • Week 5

    Server-side JavaScript writing basic HTTP servers with Servi and Node.js
    Data Storage
    Query Strings, GET vs. POST
    Week 5 Notes
    Assignments:
  • Create a guestbook or blog posting/display platform using Servi.js
  • 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 work on the data model.

  • Week 6

    Final Project Discussion
    Serial Interfacing with the Arduino
    Week 6 Notes
    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

  • Week 7

    Final Project Presentations