You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Introduces an AI-powered Instructor Checklist panel in the programming exercise editor. This feature analyzes the problem statement to infer learning goals, assess difficulty consistency, and identify quality issues (clarity, coherence, completeness), helping instructors create higher-quality exercises.
Checklist
General
I tested all changes and their related features with all corresponding user types on a test server.
This is a small issue that I tested locally and was confirmed by another developer on a test server.
I added multiple integration tests (Spring) related to the features (with a high test coverage).
I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
I documented the Java code using JavaDoc style.
Client
Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data (e.g. using paging).
I strictly followed the principle of data economy for all client-server REST calls.
Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
I documented the TypeScript code using JSDoc style.
I added multiple screenshots/screencasts of my UI changes.
I translated all newly inserted strings into English and German.
Changes affecting Programming Exercises
High priority: I tested all changes and their related features with all corresponding user types on a test server configured with the integrated lifecycle setup (LocalVC and LocalCI).
I tested all changes and their related features with all corresponding user types on a test server configured with LocalVC and Jenkins.
Motivation and Context
Instructors often struggle to ensure their programming exercises explain concepts clearly, align with declared difficulty levels, and cover appropriate learning goals. Without immediate feedback, these issues may only be discovered when students struggle. This feature provides an automated, intelligent review of the problem statement before the exercise is published.
Description
Client:
Added ChecklistPanelComponent (Angular standalone) deeply integrated into the programming exercise update view.
Using the generated OpenAPI client HyperionProblemStatementApiService to communicate with the backend.
Displays three analysis sections:
Inferred Learning Goals: Lists skills extracted from the text, confidence levels, and taxonomy classification.
Difficulty Assessment: Compares the AI-suggested difficulty with the instructor's declared difficulty.
Quality Issues: Highlights potential clarity, coherence, or completeness issues.
Styled to support both Light and Dark modes using standard Artemis/Bootstrap components.
Server:
Implemented HyperionChecklistService to orchestrate AI calls.
Added DTOs ChecklistAnalysisRequestDTO, ChecklistAnalysisResponseDTO for structured communication.
Added new Prompt Templates checklist_learning_goals.st, checklist_difficulty.st, checklist_quality.st for targeted AI analysis.
Exposed a new endpoint in HyperionProblemStatementResource.
Steps for Testing
Prerequisites:
1 Instructor
Log in to Artemis as an Instructor.
Navigate to Course Management > Exercises > Programming Exercises.
Create a new exercise or edit an existing one.
Scroll down to the Problem Statement section.
You should see the Instructor Checklist panel below the editor.
Click Analyze Problem Statement.
Wait for the analysis to complete (loading spinner).
Verify that the results (Learning Goals, Difficulty, Quality Issues) are displayed correctly.
Dark Mode Test: Switch your theme to Dark Mode and verify the panel remains legible and clearly styled.
Exam Mode Testing
Prerequisites:
1 Instructor
1 Exam with a Programming Exercise
Log in to Artemis.
Edit a programming exercise within an Exam.
Verify that the Instructor Checklist panel also appears and functions correctly in the Exam exercise editor mode.
Testserver States
You can manage test servers using Helios. Check environment statuses in the environment list. To deploy to a test server, go to the CI/CD page, find your PR or branch, and trigger the deployment.
Review Progress
Test Coverage
Warning: Client tests failed. Coverage could not be fully measured. Please check the workflow logs.
clientPull requests that update TypeScript code. (Added Automatically!)hyperionprogrammingPull requests that affect the corresponding moduleserverPull requests that update Java code. (Added Automatically!)tests
2 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduces an AI-powered Instructor Checklist panel in the programming exercise editor. This feature analyzes the problem statement to infer learning goals, assess difficulty consistency, and identify quality issues (clarity, coherence, completeness), helping instructors create higher-quality exercises.
Checklist
General
Server
Client
authoritiesto all new routes and checked the course groups for displaying navigation elements (links, buttons).Changes affecting Programming Exercises
Motivation and Context
Instructors often struggle to ensure their programming exercises explain concepts clearly, align with declared difficulty levels, and cover appropriate learning goals. Without immediate feedback, these issues may only be discovered when students struggle. This feature provides an automated, intelligent review of the problem statement before the exercise is published.
Description
Client:
ChecklistPanelComponent(Angular standalone) deeply integrated into the programming exercise update view.HyperionProblemStatementApiServiceto communicate with the backend.Server:
HyperionChecklistServiceto orchestrate AI calls.ChecklistAnalysisRequestDTO,ChecklistAnalysisResponseDTOfor structured communication.checklist_learning_goals.st,checklist_difficulty.st,checklist_quality.stfor targeted AI analysis.HyperionProblemStatementResource.Steps for Testing
Prerequisites:
Exam Mode Testing
Prerequisites:
Testserver States
You can manage test servers using Helios. Check environment statuses in the environment list. To deploy to a test server, go to the CI/CD page, find your PR or branch, and trigger the deployment.
Review Progress
Test Coverage
Warning: Client tests failed. Coverage could not be fully measured. Please check the workflow logs.
Server
Last updated: 2026-01-27 02:00:44 UTC
Screenshots