Skip to content
Snippets Groups Projects

This repo moved to GitHub: https://github.com/MalteNeugebauer/math-digital-mentoring

...and has a website.

For historical reasons, the repo's state in summer 2024 can be found below.

Math Digital Mentoring

This repository offers material to enrich mathematical exercises in the Learning Management Systems (LMS) Moodle and ILIAS with interactive elements, e.g., gamification or adaptive learning, and the necessary materials to analyze their effects. This lightweight solution can be implemented by lecturers in their courses using the on-board tools of the learning management system. No installation of an additional plugin is needed.

There are several ways to get started.

  • Take a look on some working examples in the Live Demos Section.
  • Load a stable version of the material in your LMS and adapt it to your needs: LMS-readable Packages Section.
  • Copy and paste the code directly in questions of your LMS: Check the Insertable Code Section.
  • Once applied at your university, the resulted effects of the tested versions can be measured with analytics tools offered in the Effect Measurement Section. Here you find a lightweight dashboard tool that can also be implemented without installation. For deeper analysis, also Python code is provided here.
  • Check the Paper Section for findings from research related to this approach.

Apart form that, the repository also contains Screenshots and information about Troubleshooting, Exercise Generation and the License (MIT).

Screenshots from LMS

math training area example question pa and fantasy Examples of the same exercise in the pedagogical agent design (left) and in the fantasy game design (right).

math training area example feedback Example of three different feedbacks offered by the STACK plugin in the pedagogical agent design.

Live Demos

Moodle course with all demos

The demos run in an open Moodle system of Bochum UAS. You are logged in automatically after a short period of time. Then the learning material can be started by clicking the "Attempt quiz" button.

  • The version Pedagogical Agent (Adaptive) is characterized by learners being directed to different questions depending on whether or not they correctly solve the "boss" tasks.
  • The version Pedagogical Agent (Instant Tutoring) is characterized by immediate feedback that is provided to the learners while they are still solving the exercise.
  • The Fantasy Game version ties the tasks into a medieval story and adapts the learning environment accordingly.
  • The Plain version shows how the questions appear by default and serves as a control design for research projects with an experimental approach.

LMS-readable Packages

You can either import all versions or some selected versions with the help of the LMS' "restore" option. In this case, the Moodle Backup files are needed.

Or you can import the questions in the question bank of your course and create the learning material from that. In this case you can make use of the question files. You should choose this option when you work with ILIAS.

Or you can parse the exercises for any of the versions from an editable table file. In this case, please refer to the Exercise Generation Section.

If you want to apply this frontend-oriented approach to other questions than the here presented, check the Insertable Code Section.

To get an overview of the differenct versions, please refer to the Live Demos and Screenshots sections.

Moodle Backup Files (mbz)

Step by Step Guide

  1. Download one of the *.mbz-files (according to your preferred version and language) of this repository.
  2. Create a new course in your Moodle system or navigate to an existing one where you want to embed the activities.
  3. Navigate to the course administration and pick the restore option.
  4. Pick the downloaded *.mbz-file in the "Upload File" dialogue.
  5. Perform the restore in your Moodle course. Watch out to pick the right option to not delete any existing content of your course during the restore accidentally.

Files

Version File (german) File (english) Tested with
Normal backup-quiz-normal_ger.mbz Planned for Winter 2023-24 Moodle 4.1
Pedagogical Agent (Adaptive) backup-quiz-normal_ger.mbz backup-quiz-normal_en.mbz Moodle 4.1
Pedagogical Agent (Instant Tutoring) backup-quiz-instant-tutoring_ger.mbz Planned for Winter 2023-24 Moodle 4.1
Fantasy Game backup-fantasy_ger.mbz Planned for Winter 2023-24 Moodle 4.1
All Versions backup-complete-course_ger.mbz Planned for Winter 2023-24 Moodle 4.1

Question Files (xml)

Step by Step Guide

  1. Download one of the *.xml-files (according to your preferred version and language) of this repository.
  2. Create a new course in your Moodle system or navigate to an existing one where you want to embed the activities.
  3. Navigate to the course's question bank.
  4. Navigate to the question bank's import page.
  5. Pick the downloaded *.xml-file in the "Upload File" dialogue.
  6. Perform the import.

It is preferred to create a quiz from these questions in the following way.

  1. In your course's main page turn editing on.
  2. Create a quiz element at an arbitrary position of your course.
  3. Navigate to the "Add questions" page of the newly created quiz.
  4. Choose "Add from question bank".
  5. Choose the category of the selected version (see table).
  6. Go for sure that the option "Also show elements from subcategories" is checked.
  7. Sort the questions alphabetically in ascending order.
  8. Click on "Show all ... questions".
  9. Select all questions that are currently shown.
  10. Click on "Add."
  11. You may now want to preview the quiz to see if the questions are properly included.

Files

Version File (german) File (english) Question Category Tested with
Normal questions-normal_ger.xml Planned for Winter 2023-24 test Moodle 4.1
Pedagogical Agent (Adaptive) Planned for Winter 2023-24 Planned for Winter 2023-24 Adaptive Learning Test Moodle 4.1
Pedagogical Agent (Instant Tutoring) questions-pa-its_ger.xml Planned for Winter 2023-24 instant-tutoring Moodle 4.1
Fantasy Game questions-rpg_ger.xml Planned for Winter 2023-24 rpg Moodle 4.1
All Versions questions-all_ger.xml Planned for Winter 2023-24 choose from above one by one Moodle 4.1

Insertable Code

Instead of using a given set of questions as in the LMS-readable Packages Section the code can also be applied to other questions. Currently, only questions of the type STACK are supported. If you want to apply one of the designs to other question types (e.g., multiple-choice, fill-the-gap, ...) please contact the repository owner for support.

It is important to consider that each design carries additional information that are either saved in the script or in an additional configuration element that is included in the LMS by importing the exercise files. These information are e.g., how exercises relate to each other in the "Pedagogical Agent (Adaptive)" design or the colors of the fairies in the "Fantasy Game" design.

When applying the code directly to other exercises, these information have to be included and adapted to ensure compatibility. Thus, it is preferred to generate the exercises from a table as described in the Exercise Generation Section. By doing so the configuration elements are automatically parsed.

Version File (german) File (english) Yet empty column Tested with
Normal No JavaScript included No JavaScript included Moodle 4.1
Pedagogical Agent (Adaptive) alquiz.js alquiz_en.js Moodle 4.1
Pedagogical Agent (Instant Tutoring) alquiz-qpool-instant-tutoring.js Planned for Winter 2023-24 Moodle 4.1
Fantasy Game alquiz-fantasy-bg-ver3.js Planned for Winter 2023-24 Moodle 4.1

Exercise Generation

The question files for the different versions are automatically parsed with the script create_question_versions_from_csv.py with the information from the table exercises.csv. Thus, for changes in the exercise content only one file has to be modified. The modifications will affect the question file of each version.

maths training area example question

Effect Measurement

Choose the Lightweight Dashboard Tool for a first overview of your learners' data. For a deeper analysis you may want to check the Python code section.

Lightweight Dashboard Tool

  1. Open the file lightweight_la.js with a text editor. Select all the code and copy. Open the browser of your choice and navigate to the developer console. This can be done in different browsers as follow:
  • For Google Chrome, open the Chrome Menu in the upper-right-hand corner of the browser window and select More Tools > Developer Tools. You can also use Option + ⌘ + J (on macOS), or Shift + CTRL + J (on Windows/Linux).

  • For Firefox, click on the Firefox Menu in the upper-right-hand corner of the browser and selects More Tools > Browser Console. You can also use the shortcut Shift + ⌘ + J (on macOS) or Shift + CTRL + J (on Windows/Linux).

  • For Microsoft Edge, open the Edge Menu in the upper-right-hand corner of the browser window and select More Tools > Developer Tools. You can also press CTRL + Shift + i to open it.

  • For other browsers, kindly check out their documentation.

  1. Click on the console's input and paste the code you copied in the previos step.

  2. Run the code. This can usually be done by pressing Enter.

  3. An icon should appear on the screen. Click on it to open the dashboard tool. Choose your analysis method and follow the instructions in the dashboard.

Python Code

The LMS offers various learning data to lecturers (e. g. grade statistics) by default that may address the question, what effect this approach has on learners. To get a deeper understanding learners' usage patterns can additionally visualized as shown in the screenshot by following the steps below. The following excerpt from the file overview.pdf visualizes the data from the exemplary dataset hops.csv.

excerpt from the analysis overview

  1. In your LMS, navigate to the attempt overview page of one of the quizzes. You should see here a list of attempts users made with the learning material.
  2. Go for sure that all attempts are listed here and not only a selection (not: page 1 of ...). In Moodle you can achieve this by adjusting the page size to a large number, e.g., 999.
  3. Download either the script alquiz-analysis-control.js for the versions "Normal" and "Pedagogical Agent (Adaptive)" or the script alquiz-analysis-test.js for the versions with instant feedback, i.e., "Fantasy Game" and "Pedagogical Agent (Instant Tutoring)."
  4. The downloaded script files can be opened with any text editor. Copy the script's content and paste it in the console of your browser on the attempt overview page.
  5. Run the command loadUsers(); in the console.
  6. The script loads the usage data, as if you would click on the attempts one by one. Check the current download state by running the command getFetchState(); in the console.
  7. When the output of getFetchState(); doesn't change, you can run loadAndDownloadCSV(); in the console to download the data as a *.csv file. The script anonymizes the downloaded data by default. If you want to take a look on the data file, consider the appropriate options: ; as cell delimiter, ' as string delimiter.
  8. Give the file a descriptive name, e.g., usage-data-version-A.csv and store it on your device.
  9. Download the python script visualize_hops.py and store it in the same folder as the usage data file.
  10. Open the python script in a text editor. Find the line of code in the python script that is responsible for the name of the included data file and change it according to the previously saved usage data file.
  11. Run the python script. Several Latex files will be generated in a folder named tex, located in the same folder as the just executed python script file.
  12. Download the file overview.tex and place it in the just generated tex folder.
  13. Parse a pdf from the file overview.tex. The resulting file overview.pdf contains the usage pattern visualizations.

Troubleshooting

Since the approach is based on Javascript, the regulations for using JavaScript inside the LMS are of high importance for the functionality of the approach.

If for any reasons JavaScript is not allowed in question texts of your LMS, the training area exists in your LMS, but will behave like any other test element in the LMS. As an example for the "Pedagogical Agent" version, the math worlds cluster and the endboss symbols in the navigation bar (see screenshots above) won't appear.

In this case, you may want to ask your LMS administrator to allow the usage of JavaScript in question texts for your specific use case.

If you chose to implement the code directly as described in the Insertable Code Section please ensure that the according configuration information for your preferred version align with the question setting as described there. It may be more desired to choose either one of the pre-generated LMS-readable packages or to generate the exercises from a table. These latter procedures exclude the configuration setting as the cause of the error.

Papers

  • Neugebauer, M.; Erlebach, R.; Kaufmann, C.; Mohr, J.; Frochte, J. (2024): Efficient Learning Processes By Design: Analysis of Usage Patterns in Differently Designed Digital Self-Learning Environments. Proceedings of the 16th International Conference on Computer Supported Education. https://doi.org/10.5220/0012558200003693
  • Neugebauer, M. (2024): Lightweight Learning Analytics Dashboard for Analyzing the Impact of Feedback & Design on Learning in Mathematical E-Learning. Proceedings 18. Workshop Mathematik in ingenieurwissenschaftlichen Studiengängen. Preprint
  • Neugebauer, M., Tousside, B., Frochte, J. (2023). Success Factors for Mathematical E-Learning Exercises Focusing First-Year Students. In: Proceedings of the 15th International Conference on Computer Supported Education (CSEDU). https://doi.org/10.5220/0011858400003470
  • Neugebauer, M, Frochte, J. (2023). Steigerung von Lernerfolg und Motivation durch gamifizierte Mathematik-Aufgaben in Lernmanagementsystemen. In: 21. Fachtagung Bildungstechnologien (DELFI). https://doi.org/10.18420/delfi2023-39

License

See the LICENSE-file for license rights and limitations (MIT).