TermAdventure: Interactively Teaching UNIX Command Line, Text Adventure Style
Introductory UNIX courses are typically organized as lectures, accompanied by a set of exercises, whose solutions are submitted to and reviewed by the lecturers. While this arrangement has become standard practice, it often requires the use of an external tool or interface for submission and does not automatically check its correctness. That in turn leads to increased workload and makes it difficult to deal with potential plagiarism. In this work we present TermAdventure (TA), a suite of tools for creating interactive UNIX exercises. These resemble text adventure games, which immerse the user in a text environment and let them interact with it using textual commands. In our case the ”adventure” takes place inside a UNIX system and the user interaction happens via the standard UNIX command line. The adventure is a set of exercises, which are presented and automatically evaluated by the system, all from within the command line environment. The suite is released under an open source license, has minimal dependencies and can be used either on a UNIX-style server or a desktop computer running any major OS platform through Docker. We also reflect on our experience of using the presented suite as the primary teaching tool for an introductory UNIX course for Data Scientists and discuss the implications of its deployment in similar courses. The suite is released under the terms of an open-source license at <https://github.com/NaiveNeuron/TermAdventure>.
READ FULL TEXT