notes

A Simple Guide for Introducing Linux

2021-03-10

My high school holds an annual STEM interest event. Activities range from escape rooms to drone piloting. As with many events the past year, the format was changed to suit an online environment. I was asked to create an activity teaching Linux and the command line. My plan was to host a server which students could connect to while following an activity guide at their own pace and asking for help when they need it. To setup the server in a consistent and reproducible manner, I wrote a bash script to handle account creation and software configuration. The script also models user home directories after a custom skeleton directory, which can be used to complement the lesson. For example, I placed a file of random names and a plain text copy of Green Eggs and Ham as targets for text analysis.

Overall, the guide is pretty opinionated and includes some nonstandard applications, such as alpine and tldr, an easy-to-use mail client and simplified man pages viewer, respectively. The intent is to expose students to the spirit of the system, without boring them with old and sometimes archaic commands. In the experience I had teaching at our high school's event, most students didn't get past the standard input and output sections in our thirty minute sessions, although this would vary widely depending on the technological comfort of the target audience. Additionally, the guide has been genericized and would benefit from customization for specific events, which is why I'm attaching it as an editable document in addition to a webpage. Feel free to build upon it for use in your own lessons or activities.

ScriptGuide (HTML)