JohnHammond / training_wheels-public

The teaching vessel and "interactive textbook" that I am building for the Intro to Linux class at the USCGA.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The "Training Wheels" Shell

To help you become a bit more acquainted with the Linux command-line, the bash shell, a prototype idea is to let you interact with a "training wheels" shell, which tries to kind of hold your hand and guide you through running commands and learning different concepts in Linux.

It is not, by any means, a complete product or a one-size-fits-all utility. The hope is to see if this works well as a teaching tool -- if it fails and turns out to be a flop, we will move on from it or try a new tactic.

But, it is my hope, that this interactive tool will help ingrain commands and syntax into your head, and you will gain a better understanding of how things all fit together in the command-line. Please give feedback, comments, concerns and criticisms as they come to you.

If this tool does turn out to be a success, I will add more content and "modules" to it as the weeks develop.


Files & Directory Information

  • training_wheels

    This is the main file of the Training Wheels application. It is the most top-level Python script that creates and invokes all the other objects that allows the utility to run smoothly -- this is the executable the user should run when they intend on using the program. It is to be excecuted by:

    ./training_wheels
    
  • shell/

    This folder contains the "main loop" of the Training Wheels tool and simulates the "shell," as is the point of the whole application. It handles the commands specific to the Training Wheels shell and acts as the master object for all the code and objects given in the modules noted below.

  • lessons/

    This directory holds the backend Python source code to manage the "lessons" in the Training Wheels shell, and contains the hjson and JSON files for the lessons themselves. It does act as a Python package and is necessary for Training Wheels to run.

  • save_engine/

    This folder contains the code to manage the saving and loading of the user's progress throughout their time with Training Wheels. It does act as a Python package and is necessary for Training Wheels to run.

  • colors/

    This folder acts as a Python package that offers the use of the colorama module with some convenient and easy-to-access shorthand functions.

  • _developer_

    This directory holds code that is meant to be utilized by someone who plans on developing content for the Training Wheels shell -- it includes some bash scripts to install dependencies to build lesson files like nodejs, npm, and hjson.

About

The teaching vessel and "interactive textbook" that I am building for the Intro to Linux class at the USCGA.


Languages

Language:Python 92.5%Language:Shell 7.5%