This class meets on Tuesdays, 3:30 PM - 6 PM
Week 1
Concepts:
- Introductions
- What do you think of when you think of networks?
- Technological Metaphor as a way of seeing the world:
- Medieval: Clock, gave rise to mechanical view of universe, Netwonian physics
- Victorian: Steam engine, gave rise to thermodynamic view of universe (Boyle, et al)
- Late 20th century: Computer, computational view of universe (Hawking et al)
- Early 21st century: Network, network view of universe (Linked, et al)
- Network dynamics
- Centralized, distributed, and decentralized networks
- Dyads, triads, and the links between them
- Complete networks and incomplete networks
- Link dynamics: Conversation, aggregation, broadcast, unicast, multicast, group
- Rings vs stars vs complete nets
- Link direction and symmetry
- Density of links and its effect on robustness
- Some interesting math on links, Johannes Putzke,University of Cologne
- Networks of all flavors
- Internet, PSTN, power grid, transportation
Reading:
- Linked introduction, Chapters 1 - 4
How networks can transform government and international relations(login is required, but free)
Week 2
Concepts: From serial to sockets: A review and expansion of serial communication
- How bits become data: layers of a serial protocol
- voltage agreement
- timing agreement
- logic agreement
- TTL vs RS-232 serial
- RS-485, USB, DMX-512 and other differential signaling protocols
- ASCII
- The reference lie: the OSI stack as a metaphor for communications networks
- Physical - connectors, wires, electrical protocols
- Datalink - Ethernet
- Network - IP
- Transport - TCP, UDP
- Session - telnet, http, ftp, etc
- Presentation - html, xml, etc
- Application - email, web, etc
- The TCP socket: access to the internet.
- Opening and closing sockets
- What sockets can do:
- HTTP
- Socket-to-serial
- Application-to-application
Technique:
- Processing net library chat client sockets
- Ethernet in Hardware: Arduino Ethernet shield, WiFi shield
- Arduino Ethernet library
Assignment: Socket exercise: communicating in realtime. I will give you a game platform and the protocols to log in and communicate with it. Make a client to log in and play. Work in Processing, Flash, Arduino or whatever environment is comfortable to you. You will not play with your own client, but you'll show someone else how to use it. Making Things Talk Chapter 5 will be very helpful with this.
Reading:
- Linked Chapter 5,6,11,12
- Interop Introduction, Chapters 1 & 2
- Browse this: Submarine Cable map
- Stephenson, "Mother Earth Motherboard"
- Browse Greg's Cable Map
- Isenberg, "The Dawn of the Stupid Network"
Week 3:
- Questions on the socket assignment
Concepts:
- Packets vs. Circuits
- Smart networks and dumb networks, end-to-end principles
- How the Internet gets to you
- Hubs, routers, switches, and endpoints
- Addressing: IP, DNS, DHCP, etc.
- Tiers of ISP -- turtles all the way down
- IXPs
- How the phone network gets to you:
- What's the PSTN, what's POTS?
- LATAs, LECs, RBOCs, and IXPs
Technique: BeagleBone, Raspberry Pi, and other embedded processors
Week 4:
Presentation: Socket Project
Concepts: basic networking tools:
- nslookup -- what's your name
- ping -- are you alive and can I contact you? (wired only)
- whois -- who owns you?
- traceroute -- how do I get to you?
- arp -- address resolution protocol: what MAC address is linked to what IP address?
Technique:
- Command line network tools
Reading:
- Linked, chapters 9 & 10
- Interop, chapters 3 & 4
- HTTP and RESTful principles
- Understanding REST
- Ryan Tomayko, How I Explained REST To My Wife
- Building Web Services the REST way
- Linked chapter 9, 10
Assignment:
Week 5:
Field Trip: zColo, 60 Hudson St.
Please be at the lobby of 60 Hudson ready for class at 3:30 PM sharp. Directions are here. You need to bring a government-issued photo ID to get in. A passport (any country) will do fine if you don't have a US driver's license.
Please come prepared with questions for our hosts based on our discussion of internet structures so far. You will also find it useful to read these articles from the NY Times,
Power, Pollution and the Internet
Data Barns in a Farm Town, Gobbling Power and Flexing Muscle
and these rebuttals, for more questions.
30 billion watts and rising: balancing the internet's energy and infrastructure needs
Why The New York Times Story 'Power, Pollution, And The Internet' Is A Sloppy Failure
Presentation: Traceroute Project. May be postponed if field trip goes long.
Week 6:
Concepts: Representational State Transfer
Technique:
- HTTP from the ground up: headers, GET and POST requests, etc.
Reading:
- What is Node
- Execution in the Kingdom of Nouns
- The Node Beginner Book. Do the exercises in the book as you read. It'll take about two hours.
Assignment:
Week 7:
October 23: No Class -- Tom Out of town
October? October 18 - Makeup class
Presentation: Control surface wireframes and REST schemes.
Concepts:
- Event-oriented network thinking
- Data exchange formats
Technique:
- Intro to node.js
- Intro to Express.js
Reading:
- Interop chapter 5,6
Recommended:
- Hands on node.js
- JavaScript: The Good Parts for a formal intro to JavaScript. Should be available through NYU's Safari books online subscription on NYU Home (see Research tab)
- John Schimmel's syllabus for Dynamic Web, the Spring 2012 Node version
Assignment:
- Introductory Node assignment TBA
October 30No Class -- Hurricane Sandy
Week 8:
Concepts:
- WebSockets and events cont'd.
Technique:
- More on node and network tools in javaScript
Reading:
- Interop, chapters 7, 8
Assignment:
Week 9:
November 12? Monday Makeup class
Concepts:
- Radio and how it changes network dynamics
- Location and Identification
Technique: Intro to RFID and NFC
Assignment:
Week 10:
Presentation: Control surface demonstrations
Concepts: Corporate and working structures of the internet. ICANN, IANA, IETF, ITU, etc.
Reading:
- Interop chapters 12, 13
Assignment:
Week 11:
Presentation:
- Final project concept presentations
Concepts: Voice and SIP
Week 12:
Presentations:
- Final project system presentations (for production projects) or written outlines (for written projects)
Week 13:
Final presentations. Class will present and demonstrate working projects or reports on this day. First half of the class as needed.
Week 14:
Final presentations. Class will present and demonstrate working projects or reports on this day. Second half as needed.
Discuss semester, critique, suggest improvements, review.
