AI-Assisted Exercise Authoring
Artemis can help write an exercise rather than just store it. The Hyperion module drafts and refines problem statements, analyses them for clarity and difficulty, generates Java template, solution and test code, and flags inconsistencies between the problem statement and the repositories.
None of it happens behind your back: every AI-generated change is shown as a diff you accept or discard, and generated code is a draft to review and build before students see it. This page also covers review comments, which are how exercise authors discuss the code with each other, with or without AI involved.
AI-Assisted Problem Statement Authoring
Artemis integrates AI-assisted authoring capabilities into the programming exercise editor through the Hyperion module. These features help instructors generate, refine, and analyze problem statements without leaving the editor. The AI assists the process while the instructor retains full control — every AI-generated modification must be reviewed and accepted through a diff view before it is applied.
The AI-assisted authoring features are organized into two areas:
- Problem Statement Generation and Refinement — create and iteratively improve problem statements
- Instructor Checklist — analyze quality, infer learning goals, and assess difficulty
Generate Problem Statement
When creating a new exercise, the Problem step provides a requirements input field. Enter a textual prompt describing the desired exercise (up to 1,000 characters) and click Generate Draft Problem Statement. The system generates a Markdown draft that includes task annotations for linking tasks to test cases and inserts it directly into the editor.
Refine Problem Statement
Once a problem statement exists in the editor, the same input field accepts a refinement instruction. Click Refine Problem Statement to revise the entire document based on the instruction. The system produces a revised version and presents the changes in a diff view.
Targeted Refinement
To modify a specific portion of the problem statement, select a text region in the Markdown editor. A Refine Selection button appears next to the selection. Click it to open an inline instruction field (up to 500 characters), then enter a description of the desired change. The system produces a localized revision affecting only the selected region.
Diff View
Every AI change to an existing problem statement — global refinement, targeted refinement, quality fixes and difficulty adaptation — is presented in a diff view before it is applied. The left column shows the current problem statement with deletions highlighted in red, while the right column shows the proposed revision with additions highlighted in green. A summary bar reports the net change statistics. You can accept, discard, or toggle between split and inline views.
Generating a first draft is the one exception: there is no previous version to compare against, so the draft goes straight into the editor. It is not saved until you save the exercise, so discarding it means leaving the page without saving.
Instructor Checklist
The instructor checklist analyzes the problem statement across three dimensions concurrently:
- Quality Assessment — detects issues in clarity, coherence, and completeness
- Learning Goal Estimation — infers learning goals from the problem statement
- Difficulty Assessment — evaluates exercise complexity relative to the declared level
Click Analyze Problem Statement in the checklist panel to run all three analyses. Results appear in collapsible sections. After modifying the problem statement, sections are marked as stale and can be re-analyzed individually.
Quality Assessment: Displays a radar chart with percentage scores for clarity, coherence, and completeness. Detected issues appear with category badges, severity levels, descriptions, suggested fixes, and impact assessments. Use Fix to apply an AI-generated correction for a single issue, or Fix All Issues for batch correction. Both actions present proposed changes in the diff view.
Difficulty Assessment: Shows the suggested difficulty level alongside the declared level. When a mismatch exists, an arrow indicator and descriptive text alert you. Task and test counts summarize the exercise structure, and a detailed explanation describes the reasoning. Click an Adapt to button (Easy, Medium, or Hard) to generate a revised problem statement adjusted to the target difficulty, presented in the diff view.
Learning Goal Estimation: Presents estimated learning goals, each tagged with a knowledge area badge (e.g., AL for Algorithms, SE for Software Engineering), a taxonomy level (e.g., APPLY, ANALYZE), and a "Linked" indicator when the goal matches an existing course competency. Each entry includes textual evidence from the problem statement. Select individual goals or use Select All, then click Apply All to link them to the course's competencies. The system checks whether suitable competencies already exist, links matching ones directly, and creates new competencies only where no match is found.
AI-Assisted Code Generation
Artemis can use Hyperion to generate templates, solutions, and tests for Java programming exercises. Code generation is currently only available for Java. The generated files are written to the exercise repositories, committed, and built through the configured CI setup. Treat the generated result as a draft: review the changed files, inspect the build result, and adapt the exercise before releasing it to students.
There are two ways to start code generation:
During exercise creation: For new Java programming exercises, click Generate with AI instead of the regular generate action. Artemis creates the exercise with prepared repositories, opens the online editor, and starts code generation for the template, solution, and test repositories.
From the online editor: Open the exercise with Edit in Editor and use Artemis Intelligence → Generate Code. The settings button next to the action lets you choose which repositories to generate. Code generation supports the Template, Solution, and Test repositories; assignment and auxiliary repositories are not supported.
Before starting, make sure the problem statement describes the expected behavior clearly and that the programming language and build configuration are already selected. Hyperion uses the problem statement, the current repository structure, build environment context, and known consistency issues as generation context.
Human Feedback Support
Instructors and editors can mark active repository review threads with Apply with AI before starting generation. Selected review threads give Hyperion targeted human feedback for the next generation run.
After selecting a thread, the thread header shows that it is selected for code generation and the action changes to Remove Selection.
Selected feedback is shown in the code generation settings, grouped by repository. When code generation starts, Artemis sends the selected active thread IDs for the currently generated repository to Hyperion. Hyperion then uses the selected thread comments as targeted human feedback for the template, solution, or test generation prompts.
Only valid feedback is forwarded: resolved and outdated threads are excluded, thread IDs are validated, and feedback is filtered to the current exercise and repository. Feedback that is irrelevant, conflicts with the exercise context, or would introduce inconsistencies should be ignored during generation. The selected feedback flow is intended for targeted follow-up generation after instructors have reviewed existing generated or manually written code.
After confirmation, Artemis starts an asynchronous generation job. While the job is running:
- Selected repositories are processed one after another
- The status popover shows queued, running, completed, warning, failed, and skipped states
- File activity lists newly created or updated files
- The currently open repository is refreshed as generated files are committed
- Build feedback can be used for an additional improvement attempt
Generation can finish with a warning even when files were committed, for example if the build failed, timed out, or the CI build could not be triggered. In that case, inspect the status details, open the generated repository, and check the latest build result before continuing manually.
Review Comments
During exercise creation, instructors and editors can use review comments to discuss specific lines directly in the online editor. Review comments are meant for coordinating exercise authors before releasing or updating an exercise. They are not student feedback and are only visible to users who can edit the exercise.
To add a review comment, open the exercise with Edit in Editor, hover next to the relevant line, and use the comment action. If Artemis asks you to submit first, click Submit so the comment can be attached to the current saved version of the file or problem statement.
Review comments can be attached to:
- Problem statement lines
- Template repository files
- Solution repository files
- Test repository files
- Auxiliary repository files
Each review comment starts a thread at the selected location. Other instructors and editors working on the same exercise see new comments, replies, edits, deletions, and resolved states in real time. Files with unresolved review comments are marked in the file tree. Reply to a thread to continue the discussion, and resolve it when the issue has been addressed. Resolved threads remain available, but they are collapsed so open discussions stay visible.
Consistency Check Comments: The consistency check can create review comments for potential mismatches between the problem statement and the exercise repositories — a method the problem statement calls calculateAverage while the template declares computeMean, for instance. These AI-created threads are labeled as consistency issues and show their severity and category. If one issue affects multiple artifacts, the related locations are grouped, and you can jump between them from the review comment. The issue navigator in the editor toolbar lets you move through the current consistency findings.
Some consistency check comments may include a suggested inline fix. This suggested change is intended for simple, local corrections, such as aligning a name, signature, or small code fragment. Review the suggested change before applying it. For complex or ambiguous issues, Artemis may leave the suggested fix empty and only keep the explanatory review comment.




















