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.
User Guide
Contributor Guide
- Setup Guide
- Server Setup
- Bamboo, Bitbucket and Jira
- Jenkins and Gitlab
- Multiple instances
- Adjustments for programming exercises
- Caching example for Maven
- Run the server via a service configuration
- Run the server via a run configuration in IntelliJ
- Typical problems with Liquibase checksums
- Run the server with Spring Boot and Spring profiles
- Run the server with the command line (Gradle wrapper)
- Client Setup
- Customize your Artemis instance
- Alternative: Using docker-compose
- Athene Service
- Athene Service
- Server Setup
- 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. Dependency injection
- 13. Keep it simple and stupid
- 14. File handling
- 15. General best practices
- 16. Avoid service dependencies
- 17. Proper annotation of SQL query parameters
- 18. SQL statement formatting
- 19. Avoid the usage of Sub-queries
- 20. REST endpoint best practices for authorization
- 21. Assert using the most specific overload method
- 22. General Testing Tips
- 23. Avoid using @MockBean
- Client
- Database Relationships
- Code Review
- STEPS
- 0. Precondition -> only Developer
- 1. Start Implementation -> only Developer
- 2. Implementation is “done” -> only Developer
- 3. Review -> only Reviewer
- 4. Respond to review -> Developer & Reviewer
- Developer
- Reviewer
- Iterate steps 3 & 4 until ready for merge (= all reviewers approve (thumbs up) )
- 4. Merge
- Server
- System Design
- Using local user management
- Shibboleth/SAML2 Login & Registration
- Guided Tour
- Test Servers
- Builds and Dependency Management
Administration Guide