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:
- Regular Assignments 40%
- Participation and Attendance 40%
- Final Project 20%
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