We set up a intranet web server for the CS club and it has student sysadmins and they are having so much fun making accounts, and messing with all the settings. I insisted in the server being a literal computer sitting in the corner of a room because I think it helps them to understand how networks work in a more concrete way.
So much of their experience blends internet, virtual machines, etc in ways that might make it harder to imagine making a network from scratch.
@futurebird Whenever I explore a new application with the juniors I work with, they instantly jump to docker and AWS and kubernetes and we're talking about less than 2000 transactions a day.
I'm glad you're grounding them this way. It will make them stronger, I do believe it.
@futurebird For a second I thought CS meant Counter Strike. I asked a devops candidate the other day what was the arp protocol used for and all I got was a blank stare.
@futurebird that sounds great. Where I'm teaching right now the primary way to explore complex networks is to use a set of docker containers. It does give experience communicating between machines. It makes it faster and cheaper to set up. But maybe a text file descriptor is a good way of understanding network topology. And trying to debug stuff when one docker setup fails to work while an identical setup works for someone else is a nightmare. The class is at a higher level, so I'm assuming that they have a good mental model of networks already, but I can't be certain.