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.

Idea
Plan
Prototype
Pilot
Live

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

  1. Prepare exam template repository (incl. automated tests)
  2. Configure exam in Divekit (student list, start/end times)
  3. Create locked per‑student repositories from template
  4. Unlock all repositories at start time
  5. Students work and push to their repositories
  6. Lock all repositories at end time
  7. Run automated pass checks on submissions
  8. 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.

  1. Prepare exam template (content and automated pass checks)
  2. Create exam in Divekit: upload student roster, set start/end, verify CI
  3. Schedule unlock/lock and notify students
0