From 40957c4ba6b302bfe5eae8187b5104b469548aa2 Mon Sep 17 00:00:00 2001 From: Patrick Bassner Date: Sat, 1 Jul 2023 14:33:12 +0200 Subject: [PATCH] Development: Add adaptive learning as a documented feature (#6798) --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- README.md | 13 +-- .../{guidelines => }/development-process.rst | 8 +- docs/dev/guidelines.rst | 1 - docs/index.rst | 2 + docs/user/adaptive-learning.rst | 77 ++++++++++++++++++ .../instructors-learning-goal-edit.png | Bin .../instructors-learning-goals-link.png | Bin .../instructors-learning-goals-manage.png | Bin ...dents-learning-goals-statistics-detail.png | Bin .../students-learning-goals-statistics.png | Bin docs/user/exercises/textual.rst | 2 +- docs/user/learning-analytics.rst | 62 ++------------ docs/user/lectures.rst | 2 +- .../app/core/about-us/about-us.component.ts | 1 + src/main/webapp/i18n/de/aboutUs.json | 3 + src/main/webapp/i18n/en/aboutUs.json | 3 + 17 files changed, 106 insertions(+), 70 deletions(-) rename docs/dev/{guidelines => }/development-process.rst (96%) create mode 100644 docs/user/adaptive-learning.rst rename docs/user/{learning-analytics => adaptive-learning}/instructors-learning-goal-edit.png (100%) rename docs/user/{learning-analytics => adaptive-learning}/instructors-learning-goals-link.png (100%) rename docs/user/{learning-analytics => adaptive-learning}/instructors-learning-goals-manage.png (100%) rename docs/user/{learning-analytics => adaptive-learning}/students-learning-goals-statistics-detail.png (100%) rename docs/user/{learning-analytics => adaptive-learning}/students-learning-goals-statistics.png (100%) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 809d3c455293..45c797ac2f27 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -8,7 +8,7 @@ - [ ] 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. - [ ] Language: I followed the [guidelines for inclusive, diversity-sensitive, and appreciative language](https://docs.artemis.cit.tum.de/dev/guidelines/language-guidelines/). -- [ ] I chose a title conforming to the [naming conventions for pull requests](https://docs.artemis.cit.tum.de/dev/guidelines/development-process/#naming-conventions-for-github-pull-requests). +- [ ] I chose a title conforming to the [naming conventions for pull requests](https://docs.artemis.cit.tum.de/dev/development-process/#naming-conventions-for-github-pull-requests). #### Server - [ ] **Important**: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls. - [ ] I followed the [coding and design guidelines](https://docs.artemis.cit.tum.de/dev/guidelines/server/). diff --git a/README.md b/README.md index 4221be256813..8b784134b86d 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,12 @@ 13. **[Integrated Markdown Editor](https://docs.artemis.cit.tum.de/user/markdown-support/)**: Markdown is used to format text content across the platform using an integrated markdown editor. 14. **[Plagiarism checks](https://docs.artemis.cit.tum.de/user/plagiarism-check/)**: Artemis integrates plagiarism checks for programming exercises (based on [JPlag](https://github.com/jplag/JPlag)), text exercises, and modeling exercises in courses and exams. It allows notifying students about identified plagiarism. Students can review and comment on the allegation. 15. **[Learning analytics](https://docs.artemis.cit.tum.de/user/learning-analytics/)**: Artemis integrated different statistics for students to compare themselves to the course average. It allows instructors to evaluate the average student performance based on exercises and competencies. -16. **[Tutorial Groups](https://docs.artemis.cit.tum.de/user/tutorialgroups/)**: Artemis support the management of tutorial groups of a course. This includes planning the sessions, assigning responsible tutors, registering students and tracking the attendance. -17. **[Scalable](https://docs.artemis.cit.tum.de/user/scaling/)**: Artemis scales to multiple courses with thousands of students. In fact, the largest course had 2,400 students. Administrators can easily scale Artemis with additional build agents in the continuous integration environment. -18. **[High user satisfaction](https://docs.artemis.cit.tum.de/user/user-experience/)**: Artemis is easy to use, provides guided tutorials. Developers focus on usability, user experience, and performance. -19. **Customizable**: It supports multiple instructors, editors, and tutors per course and allows instructors to customize many course settings -20. **[Open-source](https://docs.artemis.cit.tum.de/dev/open-source/)**: Free to use with a large community and many active maintainers. +16. **[Adaptive Learning](https://docs.artemis.cit.tum.de/user/adaptive-learning/)**: Artemis allows instructors and students to define and track competencies. Students can monitor their progress towards these goals, while instructors can provide tailored feedback. This approach integrates lectures and exercises under overarching learning objectives. +17. **[Tutorial Groups](https://docs.artemis.cit.tum.de/user/tutorialgroups/)**: Artemis support the management of tutorial groups of a course. This includes planning the sessions, assigning responsible tutors, registering students and tracking the attendance. +18. **[Scalable](https://docs.artemis.cit.tum.de/user/scaling/)**: Artemis scales to multiple courses with thousands of students. In fact, the largest course had 2,400 students. Administrators can easily scale Artemis with additional build agents in the continuous integration environment. +19. **[High user satisfaction](https://docs.artemis.cit.tum.de/user/user-experience/)**: Artemis is easy to use, provides guided tutorials. Developers focus on usability, user experience, and performance. +20. **Customizable**: It supports multiple instructors, editors, and tutors per course and allows instructors to customize many course settings +21. **[Open-source](https://docs.artemis.cit.tum.de/dev/open-source/)**: Free to use with a large community and many active maintainers. ## Roadmap @@ -68,7 +69,7 @@ The Artemis development team prioritizes the following issues in the future. We * [How to set up your local development environment](https://docs.artemis.cit.tum.de/dev/setup/) * [Server coding and design guidelines](https://docs.artemis.cit.tum.de/dev/guidelines/server/) * [Client coding and design guidelines](https://docs.artemis.cit.tum.de/dev/guidelines/client/) -* [Code Review Guidelines](https://docs.artemis.cit.tum.de/dev/guidelines/development-process/#review) +* [Code Review Guidelines](https://docs.artemis.cit.tum.de/dev/development-process/#review) ### Documentation diff --git a/docs/dev/guidelines/development-process.rst b/docs/dev/development-process.rst similarity index 96% rename from docs/dev/guidelines/development-process.rst rename to docs/dev/development-process.rst index 6804e5c72288..4206185d1849 100644 --- a/docs/dev/guidelines/development-process.rst +++ b/docs/dev/development-process.rst @@ -1,6 +1,6 @@ -****************************************** -Development Process (How to Merge Changes) -****************************************** +******************* +Development Process +******************* .. contents:: Content of this document :local: @@ -12,7 +12,7 @@ Naming Conventions for GitHub Pull Requests 1. The first term is a main feature of Artemis and is using code highlighting, e.g. “``Programming exercises``:”. 1. Possible feature tags are: ``Programming exercises``, ``Quiz exercises``, ``Modeling exercises``, ``Text exercises``, ``File upload exercises``, ``Exam mode``, - ``Grading``, ``Assessment``, ``Communication``, ``Notifications``, ``Team exercises``, ``Lectures``, ``Plagiarism checks``, ``Learning analytics``, ``Tutorial groups``. + ``Grading``, ``Assessment``, ``Communication``, ``Notifications``, ``Team exercises``, ``Lectures``, ``Plagiarism checks``, ``Learning analytics``, ``Adaptive learning``, ``Tutorial groups``. 2. If the change is not visible to end users, or it is a pure development or test improvement, we use the term “``Development``:”. 3. Everything else belongs to the ``General`` category. diff --git a/docs/dev/guidelines.rst b/docs/dev/guidelines.rst index 46e1615325ff..971c4e84cde1 100644 --- a/docs/dev/guidelines.rst +++ b/docs/dev/guidelines.rst @@ -13,5 +13,4 @@ Coding and design guidelines guidelines/client-design guidelines/database guidelines/criteria-builder - guidelines/development-process guidelines/language-guidelines diff --git a/docs/index.rst b/docs/index.rst index 122b5fffcbf8..f771a3c636b7 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -31,6 +31,7 @@ All these exercises are supposed to be run either live in the lecture with insta user/tutorialgroups user/plagiarism-check user/learning-analytics + user/adaptive-learning user/notifications user/user-experience user/grading @@ -46,6 +47,7 @@ All these exercises are supposed to be run either live in the lecture with insta :maxdepth: 3 dev/setup + dev/development-process dev/guidelines dev/system-design dev/migration diff --git a/docs/user/adaptive-learning.rst b/docs/user/adaptive-learning.rst new file mode 100644 index 000000000000..04173f0e8022 --- /dev/null +++ b/docs/user/adaptive-learning.rst @@ -0,0 +1,77 @@ +.. _adaptive-learning: + +Adaptive Learning +================= + +.. contents:: Content of this document + :local: + :depth: 2 + +Overview +-------- +Artemis allows students and instructors to define and track competencies, which are overarching learning objectives that tie together various lectures and exercises. Adaptive Learning in Artemis is centered around these competencies, allowing users to customize their learning experience and objectives. + +Competencies for Students +------------------------- +Competencies allow students to understand the learning goals of the course and measure their progress towards achieving them. + +In Artemis, a competency is considered mastered by a student when they completed all linked learning objects (progress equals 100%) and have an adequate confidence level (average score greater or equal to mastery threshold set by the instructor). + +In case competencies are defined, students can get an overview of their individual progress and confidence on the competencies tab. +The page lists all competencies with their title, description, and `taxonomy `_. + +Expanding the prerequisites section shows the student all competencies from previous courses the instructor has selected as a prerequisite for this course. + +|students-learning-goals-statistics| + +When clicking on a competency, a page opens and displays detailed statistics about the competency together with all linked lecture units and exercises. +The tripartite rings show the student's advancement: +The **blue ring describes the progress**, the percentage of completed lecture units and exercises. +The **green ring visualizes the confidence**, the average score in all linked exercises in relation to the threshold required for mastering the competency (set by the instructor). +The **red ring is a weighted metric of the student's progress and confidence**, which shows the overall advancement towards competency mastery. + +|students-learning-goals-statistics-detail| + +Competencies for Instructors +---------------------------- +Instructors have the ability to define competencies for a course, linking various lectures and exercises together under overarching learning objectives. They also have the ability to set the mastery threshold for these competencies. + +Competencies are overarching learning objectives that link together different course materials. + +.. raw:: html + + + +An instructor can view and edit all competencies of a course on the competency management page. +The table shows the title, description, and percentage of students that mastered the respective competency. + +On a side note, instructors can also select competencies from previous courses they taught as a prerequisite for this course. +Students can see these on the competencies page and during the course self-registration. + +|instructors-learning-goals-manage| + +An instructor can create or edit competencies using the following form. +Besides a title and description, they can optionally set a `taxonomy `_. +The mastery threshold describes the minimum average score required for a student to reach 100% confidence in this competency. +The current average score of all linked exercises shown on this page can be used as a basis for defining a reasonable threshold value. +Instructors can link competencies to lecture units on this page by first choosing a lecture and then selecting desired lecture units. + +|instructors-learning-goal-edit| + +Alternatively, instructors can also link competencies to an exercise or lecture unit on the respective management page using the selection box shown below. + +|instructors-learning-goals-link| + + +.. |students-learning-goals-statistics| image:: adaptive-learning/students-learning-goals-statistics.png + :width: 1000 +.. |students-learning-goals-statistics-detail| image:: adaptive-learning/students-learning-goals-statistics-detail.png + :width: 1000 +.. |instructors-learning-goals-manage| image:: adaptive-learning/instructors-learning-goals-manage.png + :width: 1000 +.. |instructors-learning-goal-edit| image:: adaptive-learning/instructors-learning-goal-edit.png + :width: 1000 +.. |instructors-learning-goals-link| image:: adaptive-learning/instructors-learning-goals-link.png + :width: 600 \ No newline at end of file diff --git a/docs/user/learning-analytics/instructors-learning-goal-edit.png b/docs/user/adaptive-learning/instructors-learning-goal-edit.png similarity index 100% rename from docs/user/learning-analytics/instructors-learning-goal-edit.png rename to docs/user/adaptive-learning/instructors-learning-goal-edit.png diff --git a/docs/user/learning-analytics/instructors-learning-goals-link.png b/docs/user/adaptive-learning/instructors-learning-goals-link.png similarity index 100% rename from docs/user/learning-analytics/instructors-learning-goals-link.png rename to docs/user/adaptive-learning/instructors-learning-goals-link.png diff --git a/docs/user/learning-analytics/instructors-learning-goals-manage.png b/docs/user/adaptive-learning/instructors-learning-goals-manage.png similarity index 100% rename from docs/user/learning-analytics/instructors-learning-goals-manage.png rename to docs/user/adaptive-learning/instructors-learning-goals-manage.png diff --git a/docs/user/learning-analytics/students-learning-goals-statistics-detail.png b/docs/user/adaptive-learning/students-learning-goals-statistics-detail.png similarity index 100% rename from docs/user/learning-analytics/students-learning-goals-statistics-detail.png rename to docs/user/adaptive-learning/students-learning-goals-statistics-detail.png diff --git a/docs/user/learning-analytics/students-learning-goals-statistics.png b/docs/user/adaptive-learning/students-learning-goals-statistics.png similarity index 100% rename from docs/user/learning-analytics/students-learning-goals-statistics.png rename to docs/user/adaptive-learning/students-learning-goals-statistics.png diff --git a/docs/user/exercises/textual.rst b/docs/user/exercises/textual.rst index 8b417e51e992..df8a01e622f6 100644 --- a/docs/user/exercises/textual.rst +++ b/docs/user/exercises/textual.rst @@ -73,7 +73,7 @@ The following screenshot illustrates the second section of the form. It consists The following screenshot illustrates the last section of the form: -- **Linked Competencies**: In case instructors created competencies, they can link them to the exercise here. See :ref:`Learning Analytics ` for more information. +- **Linked Competencies**: In case instructors created competencies, they can link them to the exercise here. See :ref:`Adaptive Learning ` for more information. - **Assessment Instructions**: Assessment instructions (comparable to grading rubrics) simplify the grading process. They include predefined feedback and points. Reviewers can drag and drop a suitable instruction to the text element to apply it during the assessment. The **Credits** specify the score of the instruction. The **Scale** describes the performance level of the instruction (e.g., excellent, good, average, poor). The **Description** may include additional notes about when to apply this instruction. **Feedback** is an explanatory text for the students to understand their performance level better. The **Limit** specifies how many times the score of this instruction may be included in the final score. .. figure:: text/create-text-exercise-form-3.png diff --git a/docs/user/learning-analytics.rst b/docs/user/learning-analytics.rst index 5ff96a2fa90a..ee8d0026ec3d 100644 --- a/docs/user/learning-analytics.rst +++ b/docs/user/learning-analytics.rst @@ -39,24 +39,10 @@ To get a quick overview about the achieved points per exercise, a bar chart show |students-points-per-exercise| -Competencies -^^^^^^^^^^^^ -Competencies are overarching learning objectives that tie together various lectures and exercises. -In case competencies are defined, students can get an overview of their individual progress and confidence on the competencies tab. -The page lists all competencies with their title, description, and `taxonomy `_. +See Also +^^^^^^^^ +For information regarding how learning analytics tie into competencies in Artemis, please refer to the :ref:`Adaptive Learning` documentation. -Expanding the prerequisites section shows the student all competencies from previous courses the instructor has selected as a prerequisite for this course. - -|students-learning-goals-statistics| - -When clicking on a competency, a page opens and displays detailed statistics about the competency together with all linked lecture units and exercises. -The tripartite rings show the student's advancement: -The **blue ring describes the progress**, the percentage of completed lecture units and exercises. -The **green ring visualizes the confidence**, the average score in all linked exercises in relation to the threshold required for mastering the competency (set by the instructor). -The **red ring is a weighted metric of the student's progress and confidence**, which shows the overall advancement towards competency mastery. -A competency is considered mastered by a student when they completed all linked learning objects (progress equals 100%) and have an adequate confidence level (average score greater or equal to mastery threshold). - -|students-learning-goals-statistics-detail| Learning Analytics for Instructors ---------------------------------- @@ -85,35 +71,9 @@ To get to this view, instructors can either click on one of the average score ba |instructors-exercise-statistics| -Competencies -^^^^^^^^^^^^ -Competencies are overarching learning objectives that link together different course materials. - -.. raw:: html - - - -An instructor can view and edit all competencies of a course on the competency management page. -The table shows the title, description, and percentage of students that mastered the respective competency. - -On a side note, instructors can also select competencies from previous courses they thaught as a prerequisite for this course. -Students can see these on the competencies page and during the course self-registration. - -|instructors-learning-goals-manage| - -An instructor can create or edit competencies using the following form. -Besides a title and description, they can optionally set a `taxonomy `_. -The mastery threshold describes the minimum average score required for a student to reach 100% confidence in this competency. -The current average score of all linked exercises shown on this page can be used as a basis for defining a reasonable threshold value. -Instructors can link competencies to lecture units on this page by first choosing a lecture and then selecting desired lecture units. - -|instructors-learning-goal-edit| - -Alternatively, instructors can also link competencies to an exercise or lecture unit on the respective management page using the selection box shown below. - -|instructors-learning-goals-link| +See Also +^^^^^^^^ +For information regarding how learning analytics tie into competencies in Artemis, please refer to the :ref:`Adaptive Learning` documentation. .. |students-statistics| image:: learning-analytics/students-statistics.png :width: 1000 @@ -123,10 +83,6 @@ Alternatively, instructors can also link competencies to an exercise or lecture :width: 1000 .. |students-points-per-exercise| image:: learning-analytics/students-points-per-exercise.png :width: 1000 -.. |students-learning-goals-statistics| image:: learning-analytics/students-learning-goals-statistics.png - :width: 1000 -.. |students-learning-goals-statistics-detail| image:: learning-analytics/students-learning-goals-statistics-detail.png - :width: 1000 .. |instructors-basic-statistics| image:: learning-analytics/instructors-basic-statistics.png :width: 1000 .. |instructors-course-statistics-button| image:: learning-analytics/instructors-course-statistics-button.png @@ -135,9 +91,3 @@ Alternatively, instructors can also link competencies to an exercise or lecture :width: 1000 .. |instructors-exercise-statistics| image:: learning-analytics/instructors-exercise-statistics.png :width: 1000 -.. |instructors-learning-goals-manage| image:: learning-analytics/instructors-learning-goals-manage.png - :width: 1000 -.. |instructors-learning-goal-edit| image:: learning-analytics/instructors-learning-goal-edit.png - :width: 1000 -.. |instructors-learning-goals-link| image:: learning-analytics/instructors-learning-goals-link.png - :width: 600 diff --git a/docs/user/lectures.rst b/docs/user/lectures.rst index 1e934f19e7cd..e396a2379637 100644 --- a/docs/user/lectures.rst +++ b/docs/user/lectures.rst @@ -131,7 +131,7 @@ Competencies -------------- Instructors can create competencies, which are desired learning objectives, and link lecture units to them. -See :ref:`Learning Analytics ` for more information. +See :ref:`Adaptive Learning ` for more information. .. |lectures-overview| image:: lectures/lectures-overview.png diff --git a/src/main/webapp/app/core/about-us/about-us.component.ts b/src/main/webapp/app/core/about-us/about-us.component.ts index 892d3435e040..2ccb93eeb584 100644 --- a/src/main/webapp/app/core/about-us/about-us.component.ts +++ b/src/main/webapp/app/core/about-us/about-us.component.ts @@ -39,6 +39,7 @@ export class AboutUsComponent implements OnInit { ['integratedMarkdownEditor', { markdownEditorUrl: 'https://docs.artemis.cit.tum.de/user/markdown-support/' }], ['plagiarismChecks', { jPlagUrl: 'https://github.com/jplag/JPlag/', plagiarismChecksUrl: 'https://docs.artemis.cit.tum.de/user/plagiarism-check/' }], ['learningAnalytics', { learningAnalyticsUrl: 'https://docs.artemis.cit.tum.de/user/learning-analytics/' }], + ['adaptiveLearning', { adaptiveLearningUrl: 'https://docs.artemis.cit.tum.de/user/adaptive-learning/' }], ['tutorialGroups', { tutorialGroupsUrl: 'https://docs.artemis.cit.tum.de/user/tutorialgroups/' }], ['scalable', { scalingUrl: 'https://docs.artemis.cit.tum.de/user/scaling/' }], ['highUserSatisfaction', { userExperienceUrl: 'https://docs.artemis.cit.tum.de/user/user-experience/' }], diff --git a/src/main/webapp/i18n/de/aboutUs.json b/src/main/webapp/i18n/de/aboutUs.json index c4840c7755f9..26078189fa76 100644 --- a/src/main/webapp/i18n/de/aboutUs.json +++ b/src/main/webapp/i18n/de/aboutUs.json @@ -50,6 +50,9 @@ "learningAnalytics": { "text": "Lernanalytik: Statistiken, mit denen sich die Studierenden mit dem Kursdurchschnitt vergleichen können. Bewerten der durchschnittliche Leistung der Studierenden anhand von Aufgaben und Kompetenzen." }, + "adaptiveLearning": { + "text": "Adaptives Lernen: Definieren Sie Kompetenzen und Lernziele. Verfolgen Sie den Fortschritt der Studierenden und geben Sie individuelles Feedback." + }, "tutorialGroups": { "text": "Übungsgruppen: Verwaltung der Übungsgruppen eines Kurses. Planung der Sitzungen, Zuweisung der verantwortlichen Tutor:innen, Registrierung der Studierenden und Verfolgung der Anwesenheit." }, diff --git a/src/main/webapp/i18n/en/aboutUs.json b/src/main/webapp/i18n/en/aboutUs.json index 90d5ddf4b609..67d52eae0dd6 100644 --- a/src/main/webapp/i18n/en/aboutUs.json +++ b/src/main/webapp/i18n/en/aboutUs.json @@ -50,6 +50,9 @@ "learningAnalytics": { "text": "Learning analytics: Statistics to compare based on the course average. Evaluate the average performance based on exercises and competencies." }, + "adaptiveLearning": { + "text": "Adaptive learning: Define competencies and learning goals. Track the progress of students and provide individual feedback." + }, "tutorialGroups": { "text": "Tutorial Groups: Manage the tutorial groups of a course. Plan the sessions, assign responsible tutors, register students and track the attendance." },