Pregrading and creation of multiple choice options on the exam
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
-
Premade feedback
-
Render exam and problem widgets in ExamEditor
Addition of checkboxes
- Frontend
client/components/PaneMCQ.jsx
client/components/PanelMCQ.css
client/components/Exam.css
- Backend
-
zesje/pdf_generation.py
all except lines 12 - 30 and 408 - 423
- API
-
zesje/api/__init__.py
line 55-57 zesje/api/mult_choice.py
-
zesje/api/feedback.py
line 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
- Database
migrations/versions/b46a2994605b_.py
-
zesje/database.py
line 107 - 110
- Tests
tests/conftest.py
tests/api/test_mc_option
tests/api/test_exams
Approve shortcut
- Frontend
-
client/views/Grade.jsx
lines 33, 157 - 170
- API
-
zesje/api/__init__.py
lines 11, 53 - 54 -
zesje/api/solutions.py
lines 150 - 191
QR codes on odd pages
- API
-
zesje/api/exams.py
lines 12 - 13, 16, 232
- Backend
-
zesje/pdf_generation.py
lines 408 - 423
Highlighting pregraded multiple choice questions
- Backend
-
zesje/api/images.py
lines 6-9, 61 -76
pregrading
- Tests
tests/test_pregrader.py
- Code
zesje/pregrader.py
- All changes in
zesje/scans.py
till line 694
precise positioning
- Tests
- All changes in
tests/test_scans.py
- All changes in
test_images.py
- 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