PICATA is a tool for instructors who wish to combine Peer Instruction (PI) and Continuous Assessments (CA) utilizing results from students' earlier CA data. For more information on the PICA method, see the paper located at ....
Currently, this terminal-based tool works with the Canvas Learning Management System (LMS) using the CanvasAPI. In addition to increased functionality, development plans for this project include extending it to other LMSs and creating a richer interface. Suggestions for other functionality/features (see Issues), as well as any feedback on the project, are welcomed.
Note that installation and usage of PICATA requires some basic knowledge on how to use command line in a terminal. If necessary, there are many brief tutorials/lessons available to help in this area, e.g., freecodecamp.org.
-
Clone the repository: clone this repository to your local system. This can either be done in just one place on your local system, or separately for each course that it will be used in. The latter option is our preferred method since we tend to have a separate directory for each course we teach, and prefer to keep the course data separate.
-
Generate a Canvas API Token: Naviagte to the
picata
directory then run configuration setup script by simply typing,./configure.sh
at the terminal prompt.cd picata
./configure.sh
You will be prompted to enter:
- Your institution's Canvas LMS base URL (you can find this on your Canvas home page).
- The token can be created by navigating to 'Account', then 'Settings'. Towards the bottom of this window in your LMS you will see a blue button, '+ New Access Token'. Click on this button to copy/download the token to your local system, but be careful not to share it (e.g. do not save it a shared directory).
This will prompt the creation of the data/ and figures/ subdirectories.
- Verify Setup:
Once this is complete, double check that the configuration script, set_env.sh has been created, that it has the correct values for your URL and token, and that the subdirectories have been created.
_set_env.sh_
env
This command will list all environment variables, allowing you to confirm that the necessary variables have been set correctly.
-
Verify Python Libraries: Before running the project, ensure that all required Python libraries are installed:
- Install the required libraries using
pip
:
pip install -r requirements.txt
If no errors are thrown, the libraries are successfully installed.
- Install the required libraries using
There are two main workflows that are a part of utilizing PICA in a course. The first is in creating the pairs of students to work together on a (collaborative) CA, i.e., quiz, in their LMS. This requires that the students' previous (independent) CA. This first workflow is the one that is currently implemented here in PICATA and can be carried out by following these steps:
- Open a command line terminal and navigate to the picata directory containing the repository that was cloned during installation (see above).
- Run the configuration script to set the environment variables by typing,
source set_env.sh
, at the terminal prompt. - Before running the picata script to create student pairs, you will first need to mark which students are physically present in the classroom. This is the same class session in which students will take the collaborative quiz. You mark which students are present in the classroom today by modifying the 'present_xxx.csv' file in the data/ directory. See the example 'present_example.csv' file in the data/ directory and keep the same format (i.e. columns, column names, etc.).
- Run the picata application by typing,
python picata.py
. This will prompt you for the course, (independent) quiz to use for the pairing method, the exact filename of 'present_xxx.csv' file denoting which students are present today, and the pairing method to be used. - Once the picata application has been run, open the data/ directory and look for a file that was just created with a name matching the pattern, 'quiz_xxx_pairing_via_xxx.csv'.
- You can then share this list with students in the classroom, and allow them to move around to work with their assigned partner.
The second workflow, which is not yet implemented in PICATA, involves scoring the collaborative quizzes and awarding bonus points when there is evidence that students have discussed and agreed upon the answers to the quiz (as intended). To carry this out we currently use a Jupyter notebook (see notebooks directory).