This class meets on Tuesdays, 9:30 AM - 12 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 (Clay)
- 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
- Making Things Talk introduction, Chapters 1 - 2
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
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
- Making Things Talk Chapter 3
- 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:
- embedded net processors
- Ethernet in Hardware: Arduino Ethernet shield
- Arduino Ethernet library
Reading:
- Making Things Talk Chapter 4
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: Basic intro to PHP
Reading:
- 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
- Making Things Talk introduction, Chapter 11
Assignment: HTTP outside of the browser. Use a RESTful structure as needed. Details will be announced.
Week 5:
Concepts: Representational State Transfer
Technique: .htaccess files, and accessing environment variables in PHP
Reading:
- Making Things Talk Chapter 10
Week 6:
Concepts: Voice, SIP
Technique: VoIP and voice servers using Twilio
Reading:
- Making Things Talk Chapter 6, 7
Week 7:
Presentation: HTTP outside the browser assignment
Concepts: Radio and how it changes network dynamics
Technique: Intro to XBee and Bluetooth
Reading:
- Making Things Talk Chapter 8, 9
Week 8:
Concepts: Location and Identification
Technique: Intro to RFID and NFC
Assignment: Final project. As a class you will build a platform for gathering and presenting physical data about a location that matters to you. Decide on the activities you can see need to monitor, and design a system for gathering that data and disseminating it. Make your network technology-agnostic. Decide on the elements to be created, and we'll assign groups based on interest, ability, and need.
Week 9:
Working session in class. Begin discussion of network project as a group, define working groups, and divide into breakout groups to frame your group's task. Report back to the class as a whole at the end.
Assignment: In groups, prepare your group's interface to the rest of the system. Present it to the class next week for critique and discussion.
Reading: Review next week's speaker's work on design for democracy and Peer-to-Patent. Come in with questions and prepare to discuss. You may want to read her book Wiki Government as well.
Week 10:
Concepts: Guest speaker: Beth Noveck, NY Law School, talking about social networking tools for deliberation and organization
Present: APIs, wireframes, protocols, all details needed to build final system
Week 11:
Concepts: Corporate and working structures of the internet. ICANN, IANA, IETF, ITU, etc.
Week 12:
System test: in-class working session in which groups attempt to interface their work to that of other groups.
Week 13:
Final presentations. Class will present and demonstrate a working system on this day.
Week 14:
Discuss working system, critique, suggest improvements, review.
