This repository contains files that can be used to run ArgueGraph in combination with Google Forms and Google Spreadsheets.
You could also configure the setup with different questions or different data collection methods based on your own needs.
-
Create two Google forms for the pre- and post- questionnaires.
-
Questions can be found from the function
calculate_distancesin util.py. You can find answers for each question in the same file. -
Two questionnaires are identical but should be linked to two different Google spreadsheets, storing the responses.
-
Modify the Google form settings to collect their email addresses automatically. In this way, there will be an
Email addressfield in the response spreadsheets, which is aligned with the code in util.py. -
Publish the forms, and update the polls' links in arguegraph.ipynb
- Create the Service Account & Get the Key
-
Go to Google Cloud Console.
-
Create a project, e.g., "ArgueGraph Project".
-
Enable the APIs for both Google Sheets and Google Drive:
- Go to the "APIs & Services" Dashboard.
- Click "ENABLE APIS AND SERVICES".
- Search for and enable the "Google Sheets API".
- Search for and enable the "Google Drive API" (this is needed by gspread package to find the sheets by their URLs).
-
Create Service Account Credentials:
- In the sidebar, go to "IAM & Admin" > "Service Accounts".
- Click "CREATE SERVICE ACCOUNT".
- Give it a name (e.g., "sheets-notebook-bot"). Click "Create and Continue".
- Skip the roles (Step 2). Click "Continue".
- Skip "Grant users access" (Step 3). Click "Done".
-
Generate the JSON Key:
- Click the three-dot menu (⋮) under the "Actions" column.
- Select "Manage keys".
- Click "ADD KEY" > "Create new key".
- Select the key type JSON and click "Create".
- Your browser will download a file. Rename this file to
service_account.json.
- Share Your Google Sheets with the Service Account
-
Open the
service_account.jsonfile with a text editor. -
Find the line that says "client_email" and copy the email address. For example:
"client_email": "[email protected]" -
Go to your Google Spreadsheets (the ones for PRE_INPERSON_URL, POST_INPERSON_URL, etc.) and click the "Share" button in the top-right corner.
-
Paste the service account's email address into the "Add people" box and give it "Editor" access.
- Place the File and Run Your Code
-
Put the
service_account.jsonfile in the directory containing arguegraph.ipynb -
Make sure you have the required libraries installed. If not, run the command below in the terminal:
pip install -r requirements.txt
[Important Security Note] service_account.json is like a private key that grants access to your sheets. DO NOT share it publicly.
Once you've done everything above, the last step is to update the spreadsheet links in util.py, and the questionnaire links in arguegraph.ipynb.
Then just follow the notebook struture to run the activity, for example:
-
Distribute the pre-questionnaire to students and ask them to answer the quetsions
-
Run the analysis and show the results with all pairs
-
Allot some time for argumentation and encourage them to convince their partners
-
Distribute the post-questionnaire to students and ask them to answer the same questions again
-
Run the analysis and show the plot comparing the differences among all pairs
-
Debrief the activity
Jermann, P., & Dillenbourg, P. (2003). Elaborating new arguments through a CSCL script. In Arguing to learn: Confronting cognitions in computer-supported collaborative learning environments (pp. 205-226). Dordrecht: Springer Netherlands.
Jermann, P., & Dillenbourg, P. (1999). An analysis of learner arguments in a collective learning environment. In Third CSCL Conference (pp. 265-273).