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 \url{https://github.com/NaiveNeuron/TermAdventure}.
翻译:UNIX 入门课程通常以讲座形式组织,并辅以一系列练习,这些练习的解决方案提交给演讲者,并由演讲者进行审查。虽然这种安排已成为标准做法,但往往需要使用外部工具或接口提交文件,而不是自动检查其正确性。这反过来导致工作量增加,难以处理潜在的滥杀滥伤行为。在此工作中,我们介绍TermAventure(TA),这是创建交互式UNIX 演练的一套工具。这些类似文本冒险游戏,将用户浸泡在文本环境中,让他们使用文本命令进行互动。在我们的案例中,“冒险”发生在UNIX 系统中,用户的互动通过UNIX 标准命令线进行。冒险是一套练习,由系统介绍和自动评价,全部在指挥线环境中进行。该套是在开放源许可下发行的,其依赖性极小,可以用于UNIX 型服务器或通过 Docker 运行任何主要的OS 平台的台式计算机。我们还可以在展示的套房里使用“冒险” 将“冒险” 的“冒险”,而用户互动则通过标准的UNIX,在UNIX 指南中进行类似的应用。