Fall 2026

Due Tuesday, September 22: Nodes and Networks of Computation

In previous weeks, we studied three components of a traditional stand-alone computer system: Input (Data) → Processing (Algorithms) → Output (Visualizations). This week, we ask what changes when a single computer becomes one node in a much larger network of computers. We will return to human and social networks later in the semester; for now, our focus is on computational networks and the people, institutions, and values built into them.

Connecting computers allows data, memory, and computation to be distributed across many machines. A network may continue operating when an individual node fails, but resilience is not automatic: hubs, bottlenecks, shared infrastructure, and design choices can also create new dependencies and points of failure. Networks can acquire capacities that no individual node possesses. We will use the idea of emergence to investigate how these collective capacities arise, and network effects to consider how the usefulness or power of some networks changes as participation grows.

Networks now connect not only computers and phones but sensors, vehicles, appliances, industrial systems, and other physical objects. This Internet of Things can extend perception and coordination across enormous distances while also extending surveillance, vulnerability, and control. Encryption and blockchain offer another way to explore networked trust: how can people exchange information or maintain a shared record without entrusting every decision to a single central authority? Blockchain does not eliminate trust; it asks us to consider where trust and power move when they are placed in protocols, code, infrastructure, and collective agreement.

Throughout the week, keep our central question in mind: When does a network acquire capacities—and forms of power—that none of its individual members possesses?

These foundations will prepare us for our conversations later in the week about surveillance, hacking, cybersecurity, cyberwarfare, anonymity, censorship, and network governance. The same connections that allow networks to distribute information, computation, and trust can also create new opportunities for monitoring, attack, disruption, and control. As you complete Tuesday's homework, begin noticing not only what each network makes possible, but also who can see it, influence it, interrupt it, or govern it.

Homework assignments

DataCamp and the visualization mini-project

Visualization Mini-Project #1 is due Friday, September 25, in the evening. We will spend time on the projects in Tuesday's class.

How computers become networks

Networks, emergence, and the Internet of Things

Encryption, blockchain, and trust

Questions to prepare for class

Come prepared to answer these questions from the homework. Short notes are welcome; polished written responses are not required.

  1. How do IP addresses, DNS, packets, and routing work together to move information across the internet?
  2. What can a network accomplish that an individual computer cannot? Give one example of an emergent capacity.
  3. What are the benefits and risks of connecting ordinary objects through the Internet of Things?
  4. How does asymmetric encryption allow people to communicate or establish trust without sharing a private key?
  5. What problem is blockchain designed to solve, and how does its approach differ from keeping records through one central authority?
  6. From DataCamp Chapter 3: what is one way that missing, messy, or poorly structured data could affect your visualization mini-project?

Terms you have probably encountered before

Be prepared to explain these in your own words:

Terms that may be new or less familiar

Use the assigned materials to develop a working understanding of these terms and bring questions about anything that remains unclear. You do not need to memorize formal definitions.

Questions we will explore together in class

Coming next: Thursday's homework will introduce the Unix shell in preparation for exploring a live network with commands such as ping, nslookup, and traceroute/tracert in class.