Conducting Exams with Divekit
Lecturers run fair, time‑controlled Git‑based exams via automated repository creation, unlock/lock, and preliminary pass checks, reducing manual effort and errors for larger cohorts.
Overview
Value: Lecturers run fair, time‑controlled Git‑based exams via automated repository creation, unlock/lock, and preliminary pass checks, reducing manual effort and errors for larger cohorts.
Problem: Managing many individual exam repositories manually is error‑prone and time‑consuming: creating per‑student repos, synchronizing start/end times, preventing late pushes, and collecting submissions consistently; preliminary grading also adds overhead.
Solution: Divekit automates per‑student repository creation from a template, applies synchronized time‑based unlock/lock during the exam window, and triggers automated checks after the deadline to provide an objective preliminary assessment for examiners.
Who Benefits
Primary
-
Lecturers / Examiners
- Automated unlock/lock and repo creation
- Consistent submission collection
- Preliminary grading via pass checks
- Reduced coordination effort and errors
Secondary
-
Students
- Equal, synchronized exam start/finish
- Clear, standardized submission process
- Transparent repository structure
When to Use
- Official exam periods (end of semester)
- Time‑bound, Git‑based assessments with uniform start/end
- Courses where automated checks add value
When Not to Use
- No reliable CI/CD capacity to run checks
- Offline or paper‑based exams
- Environments without student Git access
Process
- Prepare exam template repository (incl. automated tests)
- Configure exam in Divekit (student list, start/end times)
- Create locked per‑student repositories from template
- Unlock all repositories at start time
- Students work and push to their repositories
- Lock all repositories at end time
- Run automated pass checks on submissions
- Collect results for manual grading
Requirements
People
- Lecturer/Examiner
- Teaching support or CI admin (runner capacity)
- Students with Git access
Data Inputs
- Student roster (e.g., CSV)
Tools & Systems
- Divekit configured with access to Git platform
- Git platform with API access to create/lock repositories
- CI/CD environment with runners to execute tests for all submissions
- Automated test suite (pass checks) in the template
- Secure storage for template and student repositories
Policies & Compliance
- Retention/archival period for exam submissions
- Audit trail for unlocking/locking events
- Student data protection (GDPR)
Risks & Mitigations
-
Unlocking/locking fails or is unsynchronized
- Dry‑run and time sync checks before exam
- Manual override procedure and on‑call contact
- Post‑event audit logs to verify timing
-
CI runners overloaded; checks delayed or fail
- Ensure sufficient runner capacity and queue limits
- Stagger checks if needed; rerun on failure
- Communicate expectations about timing
-
Misconfigured template or tests
- Peer review template; run mock exam
- Version‑lock dependencies
- Provide fallback manual grading path
-
Incorrect access permissions
- Pre‑flight checks on permissions
- Use group/project templates with inherited policies
Getting Started
Prerequisites: Divekit configured with Git platform access; exam template repository with tests; CI/CD runners available; student list ready.
- Prepare exam template (content and automated pass checks)
- Create exam in Divekit: upload student roster, set start/end, verify CI
- Schedule unlock/lock and notify students