Skip to content

Pregrading and creation of multiple choice options on the exam

Ghost User requested to merge works-on-my-machine/zesje:develop into master

This MR includes all changes from the develop branch of works-on-my-machine/zesje. This MR primarly includes the pregrading feature that enables Zesje to automatically pregrade multiple choice questions and detect blank solutions. Furthermore, this MR allows the user to create multiple choice options in the exam editor.

Features include:

Refactorings

  1. Premade feedback

  2. Render exam and problem widgets in ExamEditor

Addition of checkboxes

  1. Frontend
  • client/components/PaneMCQ.jsx
  • client/components/PanelMCQ.css
  • client/components/Exam.css
  1. Backend
  • zesje/pdf_generation.py all except lines 12 - 30 and 408 - 423
  1. API
  • zesje/api/__init__.py line 55-57
  • zesje/api/mult_choice.py
  • zesje/api/feedback.pyline 128 - 144
  • zesje/api/images.py line 6-8 and 60 - 76
  • zesje/api/problems.py line 117 - 120
  • zesje/api/exams.py line 24 - 50, 187 - 200, 209, 360 - 361, 368 - 369, 519, 526 - 527
  1. Database
  • migrations/versions/b46a2994605b_.py
  • zesje/database.py line 107 - 110
  1. Tests
  • tests/conftest.py
  • tests/api/test_mc_option
  • tests/api/test_exams

Approve shortcut

  1. Frontend
  • client/views/Grade.jsx lines 33, 157 - 170
  1. API
  • zesje/api/__init__.py lines 11, 53 - 54
  • zesje/api/solutions.py lines 150 - 191

QR codes on odd pages

  1. API
  • zesje/api/exams.py lines 12 - 13, 16, 232
  1. Backend
  • zesje/pdf_generation.py lines 408 - 423

Highlighting pregraded multiple choice questions

  1. Backend
  • zesje/api/images.py lines 6-9, 61 -76

pregrading

extra merge request

  1. Tests
  • tests/test_pregrader.py
  1. Code
  • zesje/pregrader.py
  • All changes in zesje/scans.py till line 694

precise positioning

  1. Tests
  • All changes in tests/test_scans.py
  • All changes in test_images.py
  1. Code
  • zesje/scans.py from line 694 onward
  • All changes in images.py

Closes #17 (closed) Closes #122 (closed) (via works-on-my-machine/zesje!8 (merged)) Closes #167 (closed)

Edited by Joseph Weston

Merge request reports