Computational Literacies Lab

0003 Networks, the Internet, and system design

The previous part was about writing programs, and this one is about the machines and networks those programs run on. Its eight sections move through levels of scale, starting where a person meets a single device and working outward until the device is one of billions on the Internet. Section 0003.a begins at the surface, with the ways a computing system takes input, presents output, and offers an interface that people can actually use. Section 0003.b goes underneath that surface to the layers inside a device, from logic gates and the processor up through firmware, the operating system, and applications, and 0003.c puts that layered picture to work in finding and preventing problems when something stops working. The next two sections connect devices to one another. Section 0003.d describes the hardware of networks and the shapes in which it can be arranged, and 0003.e describes the layered protocols that carry data across them, from a single packet up to a web page. Section 0003.f asks where data rests, on a device, on a local network, or in the cloud, and how copies are kept consistent and available. Section 0003.g steps back to the whole network and analyzes what affects it in practice: its capacity and speed, its growth, who can reach it, how it fails, and how the people using it behave. The part closes in 0003.h at the smallest scale of all, with the bits and number systems in which every value in the earlier sections is ultimately stored and sent.