This class meets on Tuesdays, 9:30 AM - 12 PM

Week 1

September 6

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

September 13?

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
    • Mail
    • 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:

Week 3:

September 20

  • 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:

September 27

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:

Assignment: HTTP outside of the browser. Use a RESTful structure as needed. Details will be announced.

Week 5:

October 4?

Concepts: Representational State Transfer

Technique: .htaccess files, and accessing environment variables in PHP

Reading:

  • Making Things Talk Chapter 10

Week 6:

October 18

Concepts: Voice, SIP

Technique: VoIP and voice servers using Twilio

Reading:

  • Making Things Talk Chapter 6, 7

Week 7:

October 25?

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:

November 1

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:

November 8

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:

November 15

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:

November 22

Concepts: Corporate and working structures of the internet. ICANN, IANA, IETF, ITU, etc.

Week 12:

November 29

System test: in-class working session in which groups attempt to interface their work to that of other groups.

Week 13:

December 6?

Final presentations. Class will present and demonstrate a working system on this day.

Week 14:

December 13?

Discuss working system, critique, suggest improvements, review.