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
- Lectures
- Exams
- Orion
- Communication
- Tutorial Groups
- Plagiarism checks
- Learning Analytics
- Adaptive Learning
- Notifications
- User Experience
- Grading
- Customizing Courses
- Scaling
- Markdown Support
- Exports
- Mobile Applications
- LTI Integration
- Setup Guide
- Database Setup
- Server Setup
- Client Setup
- Customize your Artemis instance
- Programming Exercise adjustments
- Bamboo, Bitbucket and Jira Setup
- Jenkins and GitLab Setup
- GitLab CI and GitLab Setup
- Local CI and local VC setup
- Hermes Service
- Athena Service
- Apollon Service
- Iris/Pyris Service
- Common Setup Problems
- Multiple Artemis instances
- Alternative: Docker Compose Setup
- Alternative: 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
- Development Process
- Coding and design guidelines
- 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 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. Avoid the usage of Sub-queries
- 21. Criteria Builder
- 22. REST endpoint best practices for authorization
- 23. Assert using the most specific overload method
- 24. General Testing Tips
- 25. Counting database query calls within tests
- 26. Avoid using @MockBean
- Client
- 0. General
- 1. Names
- 2. Components
- 3. Types
- 4.
null
andundefined
- 5. General Assumptions
- 6. Comments
- 7. Strings
- 8. Buttons and Links
- 9. Icons with Text
- 10. Labels
- 11. Code Style
- 12. Preventing Memory Leaks
- 13. Defining Routes and Breadcrumbs
- 14. Strict Template Check
- 15. Chart Instantiation
- 16. Responsive Layout
- 17. WebSocket Subscriptions
- Client Tests
- Client Theming
- Database Relationships
- Criteria Builder
- Inclusive, Diversity-Sensitive, and Appreciative Language
- Server
- System Design
- Database Migration
- Using local user management
- Guided Tour
- Test Servers
- Builds and Dependency Management
- E2E Testing based on Cypress
- Open-Source