I think self-hosting a simple, static web site on a Raspberry Pi would be a good project.
- There’s something satisfying and motivating about creating a website from scratch and publishing it for everyone to see.
- It’s a good starting point for interested students to dive in even further, by updating the website, self hosting other things, or learning to program.
- Learning to host a website touches on many fundamental technology areas:
- Basic linux commands, which introduces concepts like directories, executable files, and the root user that are applicable to all OSes.
- Basic networking, answering questions like: How does the internet work? What really is “the cloud”?
- Basic security, covering things like defense in depth and social engineering. I think for this one I would ask the question, “What would we need to do if this website accepted personal info?” as a way of talking about the enormous technical and legal complexity of securing data.
Overall, I think a practical, interesting project is a great way to make lessons concrete and engaging, and this particular project would an excellent springboard into a variety of topics that are fundamental to the invisible technology that underpins everything we do day to day.
To quote Shakespeare, “Or not?”