Fridays 12:10 - 2:40pm, Oct 24 - Dec 12 (7 weeks)
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.
- main Networked Media google group - this is for questions.
- Friday section google group - this is for announcements related to our section only.
- Office Hours
- Resident office hours
- Help Sessions: Thursdays from 2:00 - 3:00 in room 15
- Assignments page
- What is "networked media"?
- Getting Started
- Github student developer pack - includes Digital Ocean $100 credit and more.
- Download a code editor like TextWrangler or Sublime Text.
- We'll be using the command line regularly in this class. Nothing too fancy; just the basics. Get familiar, at the very least, with the commands
ls
,cd
, andmkdir
. Basic unix commands.
- Intro to HTML and CSS
- Server setup
- Shawn's notes
- Robyn's notes
- Assignment 1 (DUE 11/4)
- JavaScript basics
- Animation and canvas with p5.js
- Manipulating the Document Object Model with Javascript
- JavaScript Events
###Week 4 (11/14): Consuming Data
- HTML forms
- Web services: AJAX and JSON
- APIs
###Week 5 (11/21): Write your own API
- Server-side JavaScript writing basic HTTP servers with Servi and Node.js
- Data storage
- Query strings, GET vs. POST
- WebSockets realtime interaction in the browser
- Arduino?!
- Final project presentations
For step-by-step tutorials, we have access to Lynda.com training courses via the NYU Library. If you're new to HTML and/or CSS, I highly recommend watching these.
Request a Lynda.com account. (It’s in the "Make an Appointment" form, but you don’t actually make an appointment. On the form, check "Instructional Video Modules". It may take a day or two to get approved.)
- CodeAcademy: JavaScript
- How to learn JavaScript properly
- JavaScript the right way
- Code School
- JavaScript garden
- A re-introduction to JS by Mozilla
- JavaScript 101 from JQuery
- JavaScript: The Definitive Guide
- Eloquent JavaScript, Marijn Haverbeke
- Beginning JavaScript, Paul Wilton and Jeremy McPeak
- HTML & CSS book
- JavaScript book
- Github student developer pack - includes Digital Ocean $100 credit and more!
- Checking code: JSLint / JSHint
- Browser debugging: Chrome Developer Tools (tutorial) / Firebug (tutorial)
- Mobile debugging http://jsconsole.com
- Sharing code snippets (useful for asking questions): http://gist.github.com
-
You are required to attend all class meetings and submit all weekly assignments and a final project. It is expected that everyone in the class will create and maintain a blog for their assignments.
-
Grading (pass/fail) will be based on a combination of factors:
- Attendance, participation in class discussion, and engagement in other students' projects (40%)
- Quality of weekly assignments (40%)
- Final Project (20%)
- Personal progress; how much did you advance from your initial state in this class.
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 during discussion or student presentations laptops use should be curtailed.