Programming Exercise
Conducting a programming exercise involves several steps shared between the instructor, students, and Artemis:
- Instructor prepares the exercise: Set up a repository with starter code, tests, and build instructions.
- Student starts the exercise: Artemis creates a personal repository and build plan.
- (Optional) Student clones the repository to their IDE.
- Student solves the exercise locally or in the online editor.
- Student submits the solution by committing/pushing or clicking Submit.
- CI server verifies the submission by running test cases and providing feedback.
- Student reviews results and improves code if needed.
- Instructor reviews overall results to detect common issues.

Exercise Templates
Artemis supports a variety of programming exercise templates for automated feedback, static analysis, and repository setup.
Templates help maintain consistency across multiple programming exercises and programming languages.
Online Editor
The online code editor includes dynamic instructions and visual feedback:
- Tasks turn green when all related tests pass.
- UML elements and task blocks automatically update their colors after submission.
- Hidden files like
.gitignoreare not displayed.

Hidden configuration files (e.g., .swiftlint.yml) are not visible in the online editor. Access them
in your IDE if needed.
Manual Assessment
Instructors and tutors can assess programming submissions directly in the browser.

Assessment features:
- File browser with highlights for changed files.
- Build output logs for debugging failed builds.
- Read-only code editor with line-by-line feedback.
- Structured grading criteria displayed beside problem statements.
Feedback can be added inline or as general feedback at the bottom.

You can save and reopen partial assessments before final submission. Once submitted, only instructors can edit them.
Testing with Ares
Ares is a JUnit 5 extension designed for secure and robust Java testing.
Key features:
- Sandbox execution (prevents test crashes and cheating)
- Time and I/O limits for stability
- Hidden and public test cases
- Improved error feedback for students
Learn more: Ares on GitHub
Use Ares to provide detailed and fair feedback in automated programming assessments.