Networked Media Spring 2017
Instructor: Shawn Van Every
Email: Shawn.Van.Every@nyu.edu
Office Hours: Sign Up
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_Spring_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:
- Regular Assignments 20%
- Presentations 20%
- Participation and Attendance 20%
- Midterm Project 20%
- 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 Technical 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 25% of your grade.
Presentations
Each week, staring the 3rd week we'll have student lead presentations on the readings assigned the previous week. 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_Spring_2017_Reading_Schedule
Weekly Reading
Each week, 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 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.
Midterm Projects
Half way through the course we'll have midterm projects. These will be 1 week projects, essentially the same effort as a weekly 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)
More to come...
Weekly Schedule
Week 1
Introduction: What is "networked media", Client-Server, TCP/IP, DNS, HTTP, Servers, Node.js, Basic Web Server
Week 1 Notes
Screen Cast
Assignments:
Add your name, preferred email address, and blog URL to the class wiki
Sign up for the 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 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
Week 2
Server Side JavaScript with Node.js, NPM and Node Packages, Using Git, Express Basics, and HTML Forms
Week 2 Notes
Screen Cast
Assignments:
Pick a reading and date and add yourself to the class wiki
Do the reading for next week, 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. One example might be a quote generator or you could build a guestbook.
Week 3
CSS and the JavaScript DOM
Week 3 Notes
Assignments:
Do the scheduled reading and write your (300 word) response: class wiki
Get your previous assignment working and add front-end layout and design elements to it using HTML/CSS/and JavaScript where appropriate
Week 4
Express Templates
Week 4 Notes
Week 4 Code
Screencast 1 and Screencast 2
Assignments:
Do the scheduled reading and write your (300 word) response: class wiki
Continue building your projects, now using databases and templates.
Midterm Project Ideas!
Week 5
Midterm Project Ideas
Data Storage
Week 5 Notes
Screencast
Current Server from Class
Assignments:
Midterms - Schedule a presentation slot
Week 6
Midterms
Assignments:
Midterm Documentation - Make sure your midterm documentation is linked on the presentation schedule wiki
Do the scheduled reading and write your (300 word) response: class wiki
Week 7
AJAX with JQuery, Building Simple Web Services
Week 7 Notes
Screencast
Current Server from Class
Assignments:
Build a simple single page web application using jQuery with AJAX and an Express server.
Do the scheduled reading and write your (300 word) response: class wiki
Week 8
Cookies and Sessions
Week 8 Notes
Screencast
Assignments:
Try out cookies/sessions
Do the scheduled reading and write your (300 word) response: class wiki
Week 9
Logins and File Uploads
Week 9 Notes
Screencast
Assignments:
Do the scheduled reading and write your (300 word) response: class wiki
Week 10
Using advanced Web Services (OAuth, Facebook, Twitter, etc)
Week 10 Notes
Screencast
Assignments:
Do the scheduled reading and write your (300 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.
Week 11
Final Project Proposals
Assignments:
Work on your final projects!
Do the scheduled reading and write your (300 word) response: class wiki
Week 12
Work Better: Creating Node Packages, Using Git
Notes
Week 12 Screencast
Assignment
Work on your final projects!
Sign up for a final presentation slot
Week 13
Final Project Workshop
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
Sign up for a final presentation slot
Week 14
Final Project Presentations Expect Guests