Teaching Programming Using git

In 2021, I designed and taught an introductory course in python programming for linguists at the University of Innsbruck. I wanted to try out something different, so I decided to run the whole course over git, using fork and pull request as means to distribute and let students hand in exercises, and actions to grade them automatically.

Course Structure

For every exercise, I created a directory that contains usually a .md explaining some of the concepts used in the exercise, a example.py that demonstrates those concepts and the actual exercise, provided as a scaffold .py with a corresponding _test.py. The tests are written for pytest, which is very straight forward and runs tests automatically when invoked with pytest.

The action is configured in such a way that everytime a pull request is issued, pytest is run. Like this, submissions can be easily checked.

Written on March 23, 2021