Skip to content
mert tiftikci edited this page Nov 21, 2020 · 1 revision

Quiz Checker

This project is developed by Serhat Çevikel(serhatcevikel) and Mert Tiftikci(kerata) for the course Cmpe 140 at Boğaziçi University. Being an introductory course taught with language R, it required a tailor-made project to bridge the course website(where the quiz and exams are held), Google sheets(where the exam/quiz/assignment scores are kept), and mailing service(for informing students about their scores). It has been developed over three years in an unprofessional manner where features are added or removed as needed and shortcomings are met by the efforts of many previous teaching assistants assigned to this course.

At its core, the project has two counterparts. A single R script that is capable of reading all the answers to a specific question as well as the answer in order to check every single one of them separately to create a table of results (which also contains errors) and dump them as CSV and RData files. The second part is python scripts which are responsible for downloading the scripts from the web site, running the answer scripts and R scripts for every question in every section, a compilation of the resulted tables, uploading them to the main sheet where the scores are held, and eventually sending emails that contain student answer file and their scores(detailed version). These functionalities as well as usage of the project will be explained in this wiki.

Project Structure

Main scripts

  1. attendance_checker.py
  2. handle_submissions.py
  3. notifier.py
  4. sheet_helper.py
  5. other/student_info.py
  6. quiz_checker_env.R

Main folders

name contents
answers Student answer files
io RData version of question-answer and results of students
other Excel files containing the information about the roster
reference_implementations Where test-related scripts and data are stored
results Where local CSV result files are stored

Content of io and results folders generated automatically if related scripts are used in accordance with the documentation. On the other hand, the content of other and reference_implementations folders should be curated as quiz related files are generated throughout the term.

answers:

Helper files

Outputs of the notification in the format of aggregated mail contents dumped into the root folder with the name of the quiz followed by .mail extensions for reviewing. Also, files token.pickle and credentials.json files should be used in order to use google sheets integration.

Clone this wiki locally