Thanks to visit codestin.com
Credit goes to hub.docker.com

orwa84/githug

By orwa84

Updated almost 4 years ago

Githug is an interactive game that teaches "git" in the terminal. This is a classroom concept.

Image
4

255

orwa84/githug repository overview

Githug

Git Your Game On

Build Status Code Climate

About

Githug is designed to give you a practical way of learning git. It has a series of levels, each requiring you to use git commands to arrive at a correct answer.

Teaching with Githug

This containerized application attempts to leverage Githug for the classroom.

Classroom concept

Pull or build image

For the standard levels from the original githug repository on github (currently 54 as of this writing, and targetted at professional developers), your students can pull the container directly from docker hub using the standard docker pull command as follows:

docker pull orwa84/githug

If, on the other hand, new level sets are available at alternative repository, or an alternative branch of the github repositry, then you can build your own images as follows:

git pull <your forked githug repo here>
git checkout <your desired branch>
docker build --tag orwa84/githug .
Running the image for the first time

After pulling or building the docker image, your students should be instructed on how to start the interactive application, while binding the submition folder to a local directory on their machine:

cd <local folder for submission files>
docker run -it --name githug -v $(pwd):/data orwa84/githug

Note that in PowerShell on Windows, $(pwd) should be replaced with ${pwd}.

In case of multiple students sharing the same computer, different containers can be ran from the same image with their own state representing the progress of each student (e.g. by passing --name githug-michael, --name githug-sara, and using different folders for the <local folder for submission files> part).

After solving a number of levels, the student should "exit" the container by pressing CTRL+D or typing exit. This will save their progress automatically in the /data volume inside the continer, whose contents will appear in the designated folder.

Subsequent runs

For your students to pick up from where they left off. They will have to re-start the container from the same computer to retain their progress. This is done using the following command:

docker start -ai githug

... where, in the case of multiple users sharing the same computer, the name of the container might contain the name of the student (e.g. githug-michael, githug-sara, etc.).

Files for submission

At the end of the course, the students should be instructed on how to send the contents of the /data folder, which is mapped to a local folder. The contents of this folder can hence be compressed and submitted using th LMS of the school (e.g. Moodle).

Grading matrial

In the /data volume, the following files are found:

  • the .profile.yml file used by Githug to track the current level
  • an additional history log (history.txt) that can help teachers understand the students methodology and troubleshooting strategy
  • git credentials (i.e. name and email used for commits) are seen in the gitconfig file

References

Tag summary

Content type

Image

Digest

Size

119 MB

Last updated

almost 4 years ago

docker pull orwa84/githug