Hello there ๐Ÿ‘‹

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

What is Divekit?

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
  • 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.

Who needs Divekit?

Divekit is designed for different stakeholders in programming education:

Course Instructors

Primary users who:

  • Create and manage programming assignments
  • Need to distribute exercises to large groups of students
  • Want to prevent plagiarism through individualization
  • Need efficient ways to evaluate student submissions

Benefits

  • Automated repository management
  • Built-in individualization system
  • Integrated testing capabilities
  • Bulk operations for large classes

Teaching Assistants

Support staff who:

  • Help manage student repositories
  • Assist with assignment evaluation
  • Provide technical support to students

Benefits

  • Standardized repository structure
  • Automated access management
  • Consistent testing environment
  • Clear overview of student progress

Students

End users who:

  • Receive individualized assignments
  • Submit their solutions through Git
  • Get automated feedback on their work

Benefits

  • Personal GitLab repositories
  • Immediate feedback through automated tests
  • Clear assignment structure
  • Consistent submission process

Why Divekit?

How Divekit works

Last modified January 17, 2025: refactor for cli rewrite (dfb706b)