Information Flow on the Internet


This was my second experience teaching for the Computing Everywhere course run by Jeremy Birnholtz. Following feedback from students after my last lecture I made this lecture much more technical.

I based the lesson around extending an activity Aaron Shaw does in his class. Basically, all of the students are assigned to be either users, servers, or routers. We started by simulating how packets get passed from users to servers (and back). We then continued to add layers of complexity - TCP, SSH, and Tor and showed how each technology helps to deal with the shortcomings of a decentralized, ‘dumb’ network.

See my blog post with additional detail and lesson materials.