Interactive technologies seldom stand alone. They exist in networks, and they facilitate networked connections between people. Designing technologies for communications requires an understanding of networks. This course is a foundation in how networks work. Through weekly readings and class discussions and a series of short hands-on projects, students gain an understanding of network topologies, how the elements of a network are connected and addressed, what protocols hold them together, and what dynamics arise in networked environments. This class is intended to supplement the many network-centric classes at ITP. It is broad survey, both of contemporary thinking about networks, and of current technologies and methods used in creating them. Prerequisites: Students should have an understanding of basic programming (Intro to Computational Media or equivalent). Familiarity with physical computing (Intro to Physical Computing or equivalent) is helpful, but not essential. Some, though not all, production work in the class requires programming and possibly physical and electronic construction. There is a significant reading component to this class as well.

Topics include:

  • topologies: how to think about them (nodes and links), how few workable ones there are, and how there's no topology so stupid it isn't in use some place.
  • addressing and routing: what a namespace is, three ways to generate a name (nesting, serial uniqueness, random pseudo- uniqueness), the difference between smart and dumb networks, why the phone network and the internet differ even though they use the same wires
  • protocols: envelopes and contents, the stack and the reference lie, end-to-end principles, reliability vs. speed tradeoffs
  • scale: more is different, scale breaks otherwise workable systems, makes redundancy and degeneracy critical, tends to push systems
  • a discussion of security and its effects

Exercises include:

  • Basic socket communication, both software and embedded hardware versions
  • Client-server programming
  • An HTTP/RESTian model exercise

This class meets on Tuesdays, 3:30 PM - 6 PM

Class 1

September 2?

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
  • 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
  • Networks of all flavors
    • Internet, PSTN, power grid, transportation

Technique:

  • Review or introduction to the command line interface

Reading:

Class 2

September 9?

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, Unicode
  • 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
  • How the phone network gets to you:
    • What's the PSTN, what's POTS?
  • Opening and closing sockets
  • What sockets can do:
    • HTTP
    • Mail
    • Socket-to-serial
    • Application-to-application

Technique

  • Processing net library
  • Serial-to-socket in Processing

Reading:

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, Arduino, JavaScript, 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. Due in one week. Work alone or in pairs.

Class 3:

September 16?

Presentation: Socket Project

Concepts:

  • HTTP from the ground up: headers, GET and POST requests, etc.

Technique:

  • Arduino Yún, BeagleBone Black, Raspberry Pi, and other embedded processors
  • Command Line Interface

Reading:

Class 4:

September 23?

Concepts

  • Guest speaker: Hunter Newby, Allied Fiber
  • The business of the physical layer
  • LATAs, LECs, RBOCs, and IXPs

Special Class 5: September 25, Thursday, 12 - 3 PM

Field Trip: Telx, 60 Hudson St., and 325 Hudson. Our hosts will be Hunter Newby, Founder & CEO of Allied Fiber, and co-founder and former chief strategy officer for Telx; and Jim Stanley, Finance Executive at Telx.

Please be at the lobby of 60 Hudson ready for class at 12:15 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 do some background reading and research and come prepared with questions for our hosts based on our discussion of internet structures so far.

Class 6:

September 30?

Concepts:

  • Network geography using network 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?
  • Corporate and working structures of the internet. ICANN, IANA, IETF, ITU, etc.

Technique:

  • Command line network tools

Reading:

Assignment:

Traceroute at least three of the sites you regularly visit: Facebook, gmail, bank, school, etc. Do it from all of the locations you regularly connect from. Save the trace in a file, and make a map of the routes, indicating the network providers that show up every time. Identify who the major tier 1 providers are in your life. Feel free to obfuscate the endpoints if you don't want us to know what sites you visit. We'll compare notes on each others traces next class.

Special Event: Susan Crawford talk at ITP, Thursday 10/2, 12-3

Details TBA. Susan is one of the pre-eminent voices in telecommunications policy in the world. This will be a really useful talk for this class.

Class 7:

October 7?

Presentation: Traceroute Project.

Concepts: Representational State Transfer

  • HTTP and RESTful principles

Technique:

Reading:

Assignment:

Over the next three weeks, you'll RESTful web interface to a physical device. You can come up with a new RESTful interface for an existing physical device, or you can come up with a physical interface for an existing RESTful service, or both.
work in pairs on this assignment
Week 1: Decide on your application, then describe and sketch the interface and the control protocol.

Class 8:

October 21?

Concepts:

  • Event-oriented network thinking
  • Data exchange formats

Technique:

  • Deeper into node.js and express
  • serial library for node.js

Assignment:

Week 2: prototype the HTML elements and perform basic manipulations using JS; make the network connection

Recommended Reading:

Class 9:

October 28?

Concepts:

  • WebSockets and events

Technique:

  • In-class workshop to connect the pieces of the web interface assignment.

Reading:

  • Making Things Talk, chapter 6, 7

Class 10:

November 4?

Presentation: Web interface project.

Concepts:

  • Radio as Communication: Wifi, Xbee, Bluetooth, etc

Technique:

  • Radio communication basics workshop

Reading:

  • Making Things Talk, chapter 8, 9

Assignment:

Radio Exercise: We'll build a multi-node machine inspired by this work at nearfield.org. Each pair of people will be assigned a different radio address, and your job will be to receive the data, convert it to physical action, and use that action to trigger message sent by a second radio. In the end, the whole class will form one large machine.
Work in pairs on this.
Week 1: you'll be assigned your addresses this week. Get to know your network neighbors and discuss what you'll make for your part of the system.

No Class Nov. 11

Class 11:

November 18?

Presentation:

Present your initial physical prototype, working. Radio links need not be working to your neighbors yet.

Concepts:

  • Radio as Location or Identification
  • Short-range radio: Bluetooth and Bluetooth LE

Assignment:

Week 2: Work with your neighbors to establish links in class. Determine what the major tasks will be to finalize the project.

Assignment:

You've covered a number of topics very broadly this semester, all of which are connected. For your final, take any of the topics we've covered and prepare an online introduction to it. Your online guide can be a combination of text, image, video, and interactive elements. The whole experience should take approximately 5-10 minutes to digest.
You can cover technical, social, economic, or political aspects of networks. What you present should repeat material not covered in previous discussions, though it should draw upon what we've covered. Make liberal use of the sources you've been given in this class, and include a bibliography/resource guide.
This week decide on your topic, and prepare a short (one paragraph) blog post introducing it. If you're not sure what to do, schedule office hours with me to discuss it. Please be sure that I am aware of your topic and have approved it by next class.
Your project should be completed on Friday December 5. This will give you and your classmates time to experience each others' projects, so that in our last class, you can comment on each others' work. You will not present your work in the final class, you'll only receive comments on it. We may have outside guests participating as well, TBD.
This is an unusual final project in that you have a very short time to execute it. Do not make a large production of it. The focus is on communicating the dynamic or practice in which you're interested, not on making a working system implementing it. Focus on being able to explain what you learn about the topic to the class. Your work should address a genera audience, not just the ITP community.
You may work alone or in groups on this.

Class 12:

November 25?

Presentation: Present final radio network as a whole class.

In addition to presenting the working network, each pair will give the class a short (5-minute) summary of what they learned about their particular radio form that was not covered in previous classes.

Concepts:

  • More Radio as Communication: GSM, voice, SIP

Assignment:

  • Prepare a first draft of your final online presentation.

Class 13:

December 2?

Presentaton/workshop:

Present first draft of your final. This is your chance to get early feedback from your classmates on structure, presentation, production methods, or anything else you need in order to realize your final.

Assignment: All of your finals should be finished by this Friday December 5. This weekend, review your classmates' presentations, take notes, and write down questions. In our final class, you'll give each other feedback on what you made.

Class 14:

December 9?

In-class discussion of final projects.

Reading

Required texts:

Linked: How Everything Is Connected to Everything Else and What It Means Albert-Laszlo Barabási ©Plume, 2003, ISBN: 978-0452284395
An introduction to the science of networks. Still one of the best explanations of the dynamics of networked systems.

Network Science Albert-Laszlo Barabási (cc) Barabási2012. A more math and physics-inflected version of what's covered in Linked.

Making Things Talk 2nd Edition Tom Igoe ©O'Reilly Media/Make, 2011, Print ISBN:978-1-4493-9243-7. Ebook ISBN:978-1-4493-9244-4 PDF edition is on sale now, print edition
A lot of what I know about how to connect devices to networks.

You can read this for free via http://proquestcombo.safaribooksonline.com/ through your NYU Home account. Go to the research tab and search for Safari Books Online. Within Safari, search for Making Things Talk, 2nd edition.

Recommended Reading:

Interop: The Promise and Perils of Highly Interconnected Systems John Palfrey and Urs Gasser ©Basic Books, 2012, ISBN: 0465021972
An introduction to interoperability theory, with several useful case studies. This book will give us material to discuss how best to implement networks that work well together when needed.

Head First Networking Al Anderson; Ryan Benedetti ©O'Reilly Media, Inc., 2009, ISBN: 978-0-596-52155-4
If you like the Head First series, you'll find this introduction to networking helpful. It concentrates on OSI-based networks only, and gets at the low-level technical details very fast, but in a friendly way.

325 Hudson: Birth of a Carrier Hotel Hunter Newby and Shulli Halak. There's a PDF version as well, for those without iPads.

Captive Audience . © Susan P. Crawford, Yale University Press, 2013. Kindle Edition. ASIN B00AMYGFXK. A good overview of the Comcast merger case, and argument for competition among network carriers in the U.S.

The Works: Anatomy of a City Kate Ascher ©Penguin, 2007, ISBN: 978-0143112709
Good illustrated explanation of city infrastructures, revealing the network nature of those infrastructures.

Six Degrees: The Science of a Connected Age, Duncan J. Watts. W.W. Norton & Company; ©2003. ISBN: 0393041425
A nice introduction to the science of networks, with a good bit of focus on the social angle.

Shaping Things Bruce Sterling, Boston, MIT Press, ©2005, ISBN 0-2626-9326-7. Bruce Sterling's take on a plausible future in which everything made has a network address, and therefore a documented and documentable history. He takes this vision to its extreme, showing how it changes everything from design to manufacturing to consumption to disposal of material goods. An inspiring read if you're interested in networks, material or information design, or sustainability.

The Future of Ideas: The Fate of the Commons in a Connected World, Lawrence Lessig. Vintage Books: ISBN 0-375-72644-6 ©2001
An excellent examination of the clash between the open-ended architecture of the early internet and the property-centric legal system in the US. Lessig puts forth the idea of the internet as an "innovation commons", and explains how current attempts to extend copyright and tighten intellectual property law threaten that commons.

The Victorian Internet : the remarkable story of the telegraph and the nineteenth century's on-line pioneers Tom Standage ©1999 Walker and Co. ISBN 0425171698.
A well-told story about the beginnings of telecommunications. Great inspiration if you're interested in networks.

Here Comes Everybody: The Power of Organizing Without Organizations, Clay Shirky ©Penguin, 2009. ISBN: 978-0143114949
Clay's introduction to the effects of networks on social, political, and commercial organization.

A longer list of books for inspiration and reference is available online at the books link.

Grading & Expectations

  • Participation & Attendance: 40%
  • Production Assignments: 40%
  • Class Notes: 20%

Participation & Attendance

Showing up on time, engaging in the class discussion, and offering advice and critique on other projects in the class is a major part of your grade. Please be present and prompt. Class begins at 3:20 PM, and I expect everyone to be in place and ready to begin at 3:20 PM. Lateness will hurt your grade. If you're going to be late or absent, please email your instructor in advance. Three non-emergency absences or more will lead to a failing grade. If you have an emergency, please let your instructor know as soon as you can. Please turn in assignments on time as well.

Reading

There are two assigned books for this class, Linked: How Everything Is Connected to Everything Else and What It Means by Albert-Laszlo Barabási, and Making Things Talk by me. We will discuss the material from these books in class, as it's all highly relevant to how we put networks together. Reading assignments are listed each week. There are also several online links throughout the semester. I'll expect that you've read the chapters listed for the following week, along with any online links from the syllabus. Be prepared with questions about the readings, or disagreements or ideas from them that you want to explore further. Discussion of this material will be a significant part of the class.

Although not required, you may want to read Interop: The Promise and Perils of Highly Interconnected Systems by John Palfrey and Urs Gasser, as it's also very relevant to this class.

Production Assignments

For production assignments, you'll be expected to present your project in class on the day that it's due. If you're working in a group, all group members should be present, on-time, and should participate equally in the presentation.

Documentation

As with other classes at ITP, you should keep a record of your work, and you should document your projects. An online site for them is helpful, both to you as a reference to point to, and to others as a place to learn from. Keep a blog and link it to the class site.

Always cite the sources of your code, the places you learned techniques from, and the inspirations of your ideas. This is the equivalent to citing your sources in a written paper, and copying code or techniques without attribution is plagiarism. few ideas come out of the blue, and your readers can learn a lot from the sources you learned from or were inspired by.

Class Notes

The Class Notes section of the site contains notes taken in-class or posted after class discussion by participants. Everyone will be assigned to take notes in the wiki for at least one class period. The notes can be very useful to both you and your classmates. A list of who's assigned on what weeks will be posted in week 2.

Networked Devices in Class

Though this is a class on networked devices, you should not let the use of them disrupt the class, or your direct participation in the discussion.

  • If it's a device where the outside world can contact you disruptively, don't let it disrupt the rest of the class.
  • If it's a device where you can initiate contact with the outside world, refrain from using it when others are presenting or a class discussion is in progress. The one exception to this is if you are taking notes for the class.