Skip to content

Commit

Permalink
Development: Add adaptive learning as a documented feature (#6798)
Browse files Browse the repository at this point in the history
  • Loading branch information
bassner authored Jul 1, 2023
1 parent f913251 commit 40957c4
Show file tree
Hide file tree
Showing 17 changed files with 106 additions and 70 deletions.
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/).
Expand Down
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
******************************************
Development Process (How to Merge Changes)
******************************************
*******************
Development Process
*******************

.. contents:: Content of this document
:local:
Expand All @@ -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.

Expand Down
1 change: 0 additions & 1 deletion docs/dev/guidelines.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,4 @@ Coding and design guidelines
guidelines/client-design
guidelines/database
guidelines/criteria-builder
guidelines/development-process
guidelines/language-guidelines
2 changes: 2 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
77 changes: 77 additions & 0 deletions docs/user/adaptive-learning.rst
Original file line number Diff line number Diff line change
@@ -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 <https://en.wikipedia.org/wiki/Bloom%27s_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

<iframe src="https://live.rbg.tum.de/w/artemisintro/26313?video_only=1&t=0" allowfullscreen="1" frameborder="0" width="600" height="350">
Watch this video on TUM-Live.
</iframe>

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 <https://en.wikipedia.org/wiki/Bloom%27s_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
2 changes: 1 addition & 1 deletion docs/user/exercises/textual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <learning-analytics>` for more information.
- **Linked Competencies**: In case instructors created competencies, they can link them to the exercise here. See :ref:`Adaptive Learning <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
Expand Down
62 changes: 6 additions & 56 deletions docs/user/learning-analytics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <https://en.wikipedia.org/wiki/Bloom%27s_taxonomy>`_.
See Also
^^^^^^^^
For information regarding how learning analytics tie into competencies in Artemis, please refer to the :ref:`Adaptive Learning<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
----------------------------------
Expand Down Expand Up @@ -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

<iframe src="https://live.rbg.tum.de/w/artemisintro/26313?video_only=1&t=0" allowfullscreen="1" frameborder="0" width="600" height="350">
Watch this video on TUM-Live.
</iframe>

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 <https://en.wikipedia.org/wiki/Bloom%27s_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<adaptive-learning>` documentation.

.. |students-statistics| image:: learning-analytics/students-statistics.png
:width: 1000
Expand All @@ -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
Expand All @@ -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
2 changes: 1 addition & 1 deletion docs/user/lectures.rst
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ Competencies
--------------

Instructors can create competencies, which are desired learning objectives, and link lecture units to them.
See :ref:`Learning Analytics <learning-analytics>` for more information.
See :ref:`Adaptive Learning <adaptive-learning>` for more information.


.. |lectures-overview| image:: lectures/lectures-overview.png
Expand Down
1 change: 1 addition & 0 deletions src/main/webapp/app/core/about-us/about-us.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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/' }],
Expand Down
3 changes: 3 additions & 0 deletions src/main/webapp/i18n/de/aboutUs.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@
"learningAnalytics": {
"text": "<a href={{ learningAnalyticsUrl }}>Lernanalytik:</a> 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": "<a href={{ adaptiveLearningUrl }}>Adaptives Lernen:</a> Definieren Sie Kompetenzen und Lernziele. Verfolgen Sie den Fortschritt der Studierenden und geben Sie individuelles Feedback."
},
"tutorialGroups": {
"text": "<a href={{ tutorialGroupsUrl }}>Übungsgruppen:</a> Verwaltung der Übungsgruppen eines Kurses. Planung der Sitzungen, Zuweisung der verantwortlichen Tutor:innen, Registrierung der Studierenden und Verfolgung der Anwesenheit."
},
Expand Down
Loading

0 comments on commit 40957c4

Please sign in to comment.