# Creating Interactive Gnu/Linux shell programming courses

I am looking to create interactive workbooks that teach the Gnu/Linux terminal to students. This would be presented in such a way that one half of the screen is an interactive terminal, running the Gnu bash Unix shell, and the other half of the screen is a workbook, with steps that the student must follow in the included shell. The output from the students' shells would be automatically graded, to ensure that they have correctly followed the steps from the workbook.

So far, I have found two such 'services' http://tuxlab.org/#/ and https://github.com/jakebailey/ua , There are also GitHub classrooms which may fall into this category.

Is anyone else aware of products like this? Preferably open source.

• Except for auto grading, why do you need a special app? Having two windows (from different apps) open at the same time doesn't seem much worse than two panes of a single window. Do you have so many students that auto grading is a "must have"? – Buffy Jun 14 '19 at 11:27
• Have you explored the possibility of Jupyter Notebooks? They support shell scripts using the %%bash header. – Pål GD Jun 14 '19 at 14:08
• This is an opinion-based question I think, but...one way of learning is to just provide SSH access with a user/password to each student on a Linux machine. This would allow them to explore the system more and to see real feedback. To demonstrate different commands you could simply devise bash scripts and plain text templates for students to copy and work on. The workbook can just be a text document. Keep it simple, students will appreciate it (especially since in the real world, you don't get fancy docs usually ;)) – Rudolf Olah Jun 14 '19 at 20:40
• The Unix shell is rather limited, as it is more a vehicle for calling complex programs and combining snippets. Is it really worth their while to learn shell in enough depth that this is required? I picked up what I need for my day-to-day use through, well, use; and occasionally peeking at the manual (or doing experiments on line...). – vonbrand Aug 8 '19 at 21:16