Artemis: Interactive Learning with Individual Feedback
Main features
Artemis supports the following exercises:
Programming exercises with version control and automatic assessment with test cases and continuous integration
Quiz exercises with multiple choice, drag and drop and short answer quiz questions
Modeling exercises with semi-automatic assessment using machine learning concepts
Textual exercises with manual (and experimental semi-automatic) assessment
File upload exercises with manual assessment
All these exercises are supposed to be run either live in the lecture with instant feedback or as homework. Students can submit their solutions multiple times within the due date and use the (semi-)automatically provided feedback to improve their solution.
- Assessment
- Exercises
- General Information
- Programming Exercise
- Overview
- Exercise Templates
- Exercise Creation
- Exercise Import
- Static Code Analysis Default Configuration
- Submission Policy Configuration
- Online Editor
- Manual Assessment
- Repository Access
- Testing with Ares
- Best practices for writing test cases
- Sending Feedback back to Artemis
- Integrated Code Lifecycle
- Quiz exercise
- Modeling exercise
- Textual exercise
- File Upload Exercise
- Team exercises
- Lectures
- Exams
- Orion
- Communication
- Tutorial Groups
- Plagiarism checks
- Learning Analytics
- Adaptive Learning
- Notifications
- User Experience
- Grading
- Customizing Courses
- Markdown Support
- Integrated Code Lifecycle
- Exports
- Mobile Applications
- LTI Configuration
- Setup Guide
- Development Process
- Coding and design guidelines
- Performance
- Server
- 0. Folder structure
- 1. Naming convention
- 2. Single responsibility principle
- 3. Small methods
- 4. Duplication
- 5. Variables and methods declaration
- 6. Structure your code correctly
- 7. Database
- 8. Comments
- 9. Utility
- 10. Auto configuration
- 11. Keep your
@RestController
’s clean and focused - 12. Use DTOs for Efficient Data Transfer
- 13. Dependency injection
- 14. Keep it simple and stupid
- 15. File handling
- 16. General best practices
- 17. Avoid service dependencies
- 18. Proper annotation of SQL query parameters
- 19. SQL statement formatting
- 20. Do NOT use Sub-queries
- 21. Criteria Builder
- 22. REST endpoint best practices for authorization
- 22. JSON serialization and deserialization
- Server Tests
- Client
- 0. General
- 1. Names
- 2. Components
- 3. Types
- 4.
null
andundefined
- 5. General Assumptions
- 6. Comments
- 7. Strings
- 8. Localization
- 9. Buttons and Links
- 10. Icons with Text
- 11. Labels
- 12. Code Style
- 13. Preventing Memory Leaks
- 14. Defining Routes and Breadcrumbs
- 15. Strict Template Check
- 16. Chart Instantiation
- 17. Responsive Layout
- 18. WebSocket Subscriptions
- 19. Styling
- Client Tests
- Client Theming
- Database
- Criteria Builder
- Inclusive, Diversity-Sensitive, and Appreciative Language
- System Design
- Database Migration
- Using local user management
- Guided Tour
- Test Servers
- Builds and Dependency Management
- E2E Testing based on Cypress
- E2E Testing with Playwright
- Open-Source
- Local Moodle Environment Setup for LTI Development
- Production Setup
- Security
- Programming Exercise Adjustments
- Customize your Artemis instance
- Privacy Statement and Imprint
- Additional Production Setup Tips
- Multiple Artemis Instances
- Kubernetes Setup
- Setup Kubernetes Cluster
- Create DockerHub Repository
- Configure Docker ID (username)
- Configure Artemis Resources
- Build Artemis
- Run Docker Build
- Push to Docker
- Configure Spring Profiles
- Deploy Kubernetes Resources
- Add/Edit Secrets
- Check the Deployments in Rancher
- Check out the Logs
- Troubleshooting
- Set Additional Environment Variables
- Scaling
- Setup of Extension Services
- User Registration
- Shibboleth/SAML2 Login & Registration
- Access Rights
- Troubleshooting
- Useful Database Commands
- Known Issues
- Benchmarking Tool
- Telemetry
- Cleanup Service