This is for instructors to work on tools or assignments for the Software Design Spring 2016 course at Olin College.
./tools/extract_answers_template.py GH_USERNAMES_CSV TEMPLATE_NOTEBOOK_FILE
Creates a Jupyter notebook in ./processed_notebooks
.
The notebook is based on the notebook at TEMPLATE_NOTEBOOK_FILE
.
The tool searches each of the repositories
in GH_USERNAMES_CSV
(a CSV file with a gh_username
column) for notebooks with the same name, and collects
their respones.
./tools/diff_answers.y GH_USERNAMES_CSV TEMPLATE_NOTEBOOK_FILE
Take a student notebook and the starter assignment notebook and return the diff, but separated per problem. This lets us see at a glance that the student answered something for each problem.
./tools/prettypatch_pull_requests.py GITHUB_USER GITHUB_REPO
Create a directory build/${GITHUB_REPO}
that contains the diff, in patch format and colorized HTML,
of each pull request.
This command assumes there only pull request per repository.
These Jupyter cell metadata fields are meaningful:
is_question
: anchor for finding answers in student notebooksis_optional
: don't list students who didn't answer thisis_poll
: don't eliminate duplicates answers, or list students who didn't answerallow_multi_cell
pip install -r requirements.txt
To enable prettypatch_pull_requests.py
:
Set HOMEBREW_GITHUB_API_TOKEN
to avoid Github's rate limit.
Install Ruby.