Create, adapt, and vary programming exercises with Hyperion
Hyperion drafts a problem statement, student template, reference solution, and tests together from a short brief. Artemis verifies the candidate before saving it. You remain responsible for reviewing the exercise and deciding when to release it.
Prerequisites
- Your administrator enables whole-exercise generation and provisions a ready generation worker.
- You are an editor or instructor in the course.
- The exercise uses Java built with Gradle or Maven on LocalVC and LocalCI, with or without the sample dependency. Maven black-box tests, auxiliary repositories, sequential test runs, and static code analysis are not supported.
- No student has started the exercise, and its release date, if one is set, is still in the future. A course draft without a release date qualifies. Exam exercises are not supported for whole-exercise generation, adaptation, or programming variants.
Any exercise that meets these conditions can be adapted, whether or not it was generated by Hyperion. Unsupported actions are hidden. The run page explains lifecycle restrictions, for example This exercise is already released. A supported released course exercise can still be the source of a new variant; it cannot be adapted in place. Saving and undo exclude conflicting edits and course template copies. Students can start the exercise during long-running authoring. Hyperion checks eligibility again before saving. Do not rely on an active generation to prevent student starts.
Choose what to change
| Action | Destination | Instructions |
|---|---|---|
| Generate | A new draft | Describe the exercise you want to teach. |
| Adapt exercise | The existing exercise | Give custom instructions and optionally select up to 25 review threads. |
| Create Variant with AI | A new exercise copied from a protected source | Select difficulty, domain, storytelling, or custom changes in the variant wizard. |
All three programming actions use the same isolated authoring, verification, and guarded save workflow. Variant creation preserves the source's content; its placement can add the source and destination to a shared variant group. Quiz variants have their own workflow.
Start from a brief
- Open the course's exercise administration and choose Add exercise.
- Select Generate, then the programming-exercise card.
- Describe the topic, learning objectives, intended difficulty, and important behavior. For example: “Create a generic bounded stack. Students implement push, pop, and peek, including clear exceptions for overflow and underflow.”
- Submit the brief. Artemis creates a draft with a future release date and opens its run inspector in the AI activity tray.
If starting generation fails after the draft was created, retry using that same draft rather than creating another exercise. The dialog also offers to delete an unused draft. A failure to start is not a saved generated exercise.
The normal Create programming-exercise form does not start AI generation. Use Generate to start from a brief, or adapt an existing supported exercise from the code editor.
Follow a run
Each run has a stable URL that identifies that run, not whichever run is newest on the exercise. Reloading or leaving the page does not cancel it. The header's AI activity tray combines running jobs and outcomes needing attention. Open a row to inspect it without leaving your current page. Use the inspector's exercise link to open exercise administration, or Open code editor after the run ends to review the repositories. Browser Back closes the inspector and Forward reopens it. Dismissing a row does not cancel its job; history keeps it accessible. A partial save stays visible.
Activity in dark mode
Your authorized programming runs are discovered from the server, including runs
started in another browser. Load older runs pages through history. Run history
and status links are retained for the configured run-history window, which is
four hours by default (artemis.hyperion.generation.terminal-replay-ttl). After
that window expires, the run no longer appears in history and its status link is
unavailable. Ordinary exercise version snapshots remain available independently
of run history. Detailed progress, artifacts, and usage have their own retention
limits; missing usage is not reported as zero. History and private inspection
belong to the run's owner, not everyone who can edit the course.
The exercise details page offers View AI progress while a run is active and View AI results while its results remain available. During a run, the code editor shows View AI progress next to its AI actions and links to the same run inspector without leaving the editor.
The stages show specification, executable artifacts, problem statement, verification, and review progress. Exercise design is selected by default and shows the approved specification as soon as it is available. The original brief stays on the page. Files lists the statement and repository files without opening their contents. File activity describes working material, not necessarily files saved to the exercise.
Open code editor appears when the run ends. Use it to review the saved statement, template, solution, and tests; generation does not stream source contents into the editor.
Only the run's owner sees private run content and usage. Other authorized editors can see that generation is active without receiving another person's brief or artifacts. Conflicting mutations are blocked while a generation owns the exercise. If the client cannot determine the job state, retry the status check rather than trying to bypass the lock.
Interpret the result
| Result | What to do |
|---|---|
| Saved | Inspect the statement, template, solution, and tests before releasing. |
| Needs review | The candidate passed verification, but review findings remain. Read and address them. |
| Failed or cancelled | No generated candidate was saved. Inspect retained material if the run reports that any exists. |
| Partially saved | Do not release or start another run to repair it blindly. Ask an administrator to reconcile the repositories and metadata. |
Verification requires the solution to pass and the template to fail the intended graded tests. It also checks the repository baseline and task bindings. These checks do not establish that an exercise is pedagogically suitable or free of semantic defects.
Usage reports distinguish complete accounting from incomplete or pending accounting. Missing usage or prices are unknown, not zero. Model estimates are not an invoice.
Cancel, adapt, and undo
Cancel is available only before saving starts. Once persistence begins, Artemis must finish or reconcile that save; closing the browser cannot interrupt it safely. Cancellation can retain a verified checkpoint for inspection, but retention does not itself save it to the exercise.
To adapt a saved exercise, open the code editor and choose Artemis Intelligence → Adapt exercise. To include feedback, first choose Select for AI adaptation on an instructor review comment or an automated review finding; the Artemis Intelligence button shows how many comments are selected. The same menu holds Create variant, Refine problem statement, Check consistency and, while a run needs attention, View AI progress. Save or discard local edits first. Inspect the selected feedback and add instructions before confirming. The Adapt exercise page shows those instructions and a snapshot of the selected comments, even if the review threads later change. Adaptation goes through the same verification and guarded persistence checks as generation.
Undo generation or Undo adaptation restores the destination's state from its complete before/after exercise versions, including repositories, grading, and placement metadata. It targets the specific save you confirmed; it cannot silently undo a newer run. Availability does not depend on the browser. The undo reference expires four hours after the save completes by default. Undo is unavailable when later edits conflict, required versions are missing, the exercise is no longer mutable, or a newer uncertain mutation prevents safe recovery. Preserve local edits before refreshing. The previous draft does not need to compile or pass its tests for undo to restore it. Tests added by the undone run become inactive; historical feedback is retained.
Undoing a variant restores its destination to the imported starting point; it does not delete that exercise or undo changes to the source's group membership. If undo only partly completes, the exercise remains guarded, including after a complete server restart. Retry the same undo or ask an administrator to reconcile it before releasing the guard. There is no separate approval step before a verified candidate is saved.
Before release
- Read the statement and confirm that its tasks match the intended public API.
- Check that the student template does not expose the reference implementation.
- Review the solution and tests for edge cases and unintended shortcuts.
- Run the solution and template through LocalCI and inspect the graded results.
- Address review findings, confirm the exercise settings, and choose the real release date yourself.

