First, install python3.
Then clone this repository. Create virtual environment in the cloned folder:
virtualenv venv
source venv/bin/activate # initializes the virtual environment
Install the Python dependencies:
pip install -r requirements.txt
Initialize the local database:
sqlite3 flaskr.db < db/init.sql
Then load student submission data into the database.
This should be in the form of a json file.
Contact the project maintainer if you need access to this data.
Once you have downloaded the data as json files, you can load it into the database with the load_data.py script:
PYTHONPATH=.:$PYTHONPATH python util/load_data.py file data/accumulate-mistakes.json 0 flaskr.db --prettify-code
PYTHONPATH=.:$PYTHONPATH python util/load_data.py file data/Product-mistakes.json 1 flaskr.db --prettify-code
PYTHONPATH=.:$PYTHONPATH python util/load_data.py file data/repeated-mistakes.json 2 flaskr.db --prettify-code
Run unit tests to group the submissions:
PYTHONPATH=.:$PYTHONPATH python util/pretest_submissions.py flaskr.db
See the deploy directory.
The deploy script in the deploy directory calls Ansible scripts to provision a machine to run the grader application.
The data_processing directory includes scripts to process some of the data from the local database into the measurements we reported in the paper.
Details about what commands to run are forthcoming.