Quick Start

Learn what Divekit is and how it can help you manage programming assignments.

Divekit is a command-line tool for managing individualized programming assignments at scale. It helps educators create, distribute and evaluate programming exercises for large groups of students.

Key Features

  • Assignment Individualization: Generate unique variations of programming assignments for each student
  • Automated Distribution: Create and manage GitLab repositories for students automatically
  • Test Integration: Built-in support for automated testing and evaluation
  • Manual Feedback: Add direct teaching-team feedback to generated evaluation reports
  • Bulk Operations: Efficiently manage assignments for large classes
  • Access Control: Manage repository access rights and permissions

Benefits

  • Prevent Plagiarism: Each student receives a slightly different version of the assignment
  • Save Time: Automate repetitive tasks like repository setup and access management
  • Ensure Fairness: Standardized testing and evaluation across all variations
  • Scale Easily: Handle large classes with minimal additional effort

Use Cases

Divekit is primarily used in educational settings where:

  • Programming assignments need to be distributed to many students
  • Each student should receive an individualized version
  • Automated testing and evaluation is desired
  • Manual administrative overhead should be minimized

The tool consolidates functionality that was previously spread across multiple separate tools into a single, easy-to-use CLI application.

Divekit is a toolkit for managing individualized programming assignments at scale.


Hello there 👋

Learn what Divekit is and how it can help you manage programming assignments.

Installation

Step-by-step guide to installing the Divekit CLI and required dependencies.

First steps

First steps after installation

Individualization

Learn how Divekit uses variation.json, individualization.json, and individuals.json for assignment individualization.

Evaluation Pipeline

Understand what Divekit Evaluation Pipeline does, how it is configured, and how it links work and eval repositories.

Plugins

Discover, select, pin, enable, and update Evaluation Pipeline plugins in Divekit.

Manual Feedback

Add teaching-team feedback to generated evaluation reports and patch it into existing eval repositories.

Plugin Suites

Enable a build ecosystem and its analysis plugins as one unit, with versions and images locked per course.

Migrate To Plugin Suites

Convert an origin that was set up before plugin suites, with a dry run, a backup, and a rollback.

Distribution

Run and manage assignment distribution with Divekit.

Member Aliases

Map local member names to GitLab usernames without changing display output.

Run Extensions

Run analysis and automation scripts across distributed repositories.