Assignments and grading¶
Creating an assignment¶
/assignments/new is one AI-first flow. Its steps adapt to the assignment type:
Compose ──▶ Review ──▶ Proctor
(always) (skipped for (only when the type
physical exams) has delivery settings)
- Compose: title, instructions, type, due date, time limit, files (question paper, model answer), and who it's for: standalone, a course, a class, section or learner, or a whole academic level. An inline AI brief takes a topic, optional subject and source material, and fine-tuning for question count, difficulty and question mix. Generation streams live through grounding → generating → validating, then jumps to Review.
- Review: edit questions, options, answers, marks, code starters and test cases. Validation errors show on the question that failed.
- Proctor: late penalty, attempts, shuffling, showing answers, proctoring toggles. Publish from here.
Question types¶
| Type | Graded by |
|---|---|
| MCQ, multi-select, true/false, fill in the blank | Automatic |
| Short answer | Automatic or AI |
| Code challenge (Python, JavaScript, with test cases) | Automatic and AI |
| Long answer / essay | AI or manual |
| File upload | Manual |
Assignment types¶
- K-12: homework, quiz, worksheet, classwork, test, competition
- Higher ed: case study, seminar, research paper, coding competition, assessment
- Corporate: knowledge check, compliance training, 360 feedback, practical exercise
- Physical exam: handwritten answer sheets
The list¶
/assignments is a sortable table on desktop and cards on phones. A row opens a quick-look with submission stats (faculty) or status and grade (learner). Learners also get an Upcoming tab grouped into Today, Tomorrow, Overdue.
Attempting¶
The learner opens the assignment, starts, and answers with a question navigator. Drafts save locally and the page warns before leaving with unsaved answers. After submission they see marks per question and feedback.
AI grading¶
For each submission, faculty see answers, the AI evaluation and any proctoring flags. AI grading compares against the rubric and model answer and returns per-question marks, feedback, strengths and improvements, with a confidence score:
| Confidence | Band |
|---|---|
| 80% and above | Green |
| 60 to 79% | Yellow |
| Below 60% | Red |
Faculty adjust and accept. Rubrics weight criteria (for example content 40%, clarity 30%, engagement 30%). Batch evaluation grades many submissions at once.
Physical exams¶
The flagship Classroom capability: marking handwritten answer sheets.
- Create the exam and upload the question paper. Kwilo reads the header and prefills subject, test name, max marks, date and duration. Anything it can't find stays blank.
- Extract questions from the paper (OCR + LLM), then review and confirm.
- Upload answer sheets, one PDF per learner, or learners upload their own from a phone.
- Kwilo maps sheets to learners and evaluates in a batch.
- Faculty review in three panes: questions, question paper, answer sheet.
- Finalise marks per sheet.
- The marks register shows summary stats and a per-learner table, exportable to CSV.
Extraction never blocks creation. If header parsing fails, the form just stays manual.
Learner uploads from a phone¶
At /my-exams, learners tap Take photo to use the camera, or pick files. Each page is compressed on the phone to about 500 KB before upload, which matters on 2G. Pages upload independently with per-page progress, so a failure on page 3 doesn't lose pages 1 and 2. The backend stitches pages together.
Where it lives¶
- Web:
pages/teacher/CreateAssignmentPage/,pages/shared/HomeworkPage/,pages/shared/AssignmentDetailPage/,pages/shared/CreatePhysicalExamPage/,pages/student/MyPhysicalExamUploadPage/ - API:
/ai-teacher/generate-homework/stream,/evaluations/*,/physical-exams/*