Moodle Plugins directory: Group formation | Moodle.org

Group formation
Description
To provide a better learning experience the group formation plugin offers a great possibilities to optimize the composition of learning groups working together on the assigned (or selected) tasks.
It is designed to cover three most frequent and relevant scenarios required in university courses. Depending on the selected scenario, the plugin uses three different approaches by generating dynamic questionnaires. The questionnaires inquire several personal-dependent relevant criteria such as motivation, goal setting, character, team performance and prior knowledge.
The collected data is used by the GroupAL algorithm to form groups optimizing the learning outcome for all participants in all groups.
Following three scenarios are provided:
- Project teams - work intensively together to finish a project (e.g. conduct a study, delivery of a report, etc.).
- Homework groups - complete (smaller) assignments in regular intervals (often weekly) as a preparation for examination.
- Presentation groups - work together for a relatively short time period to finish a presentation (usually to be held in class).
At the Presentation groups scenario, the course executive has to define topics, which students sort to regarding their personal priority of interest.
To lower the effort barrier, group formation offers students to export/import their answers for reuse in other courses.
The questionnaires are available in English and German.
Installation/Admins
Before Installation
Make sure the Moodles cron job is running. The groupformation plugin will never start creating groups if cron is not running. Further information about the cron can be found here on moodle.org
Installation
Unzip the zip file in the “mod” folder of the Moodle directory and, if necessary, rename the folder to "groupformation". Then visit your Moodle server's Site Administration -> Notifications page and Upgrade Moodles database, -- OR -- Go to Administration > Site Administration > Install add-ons to install the Groupformation module directly from your Moodle installation.
How to use the Groupformation Plugin (Admins/Teachers)
In Moodle start the edit mode and create the Groupformation activity.
Choose one of the three scenarios and enter the maximum size or number of groups.
You can include preknowledges which may be important for the activity. Depending on the scenario you have choosen, preknowledges will help to improve the matching of the groups.
After you done all the settings a questionnaire will be created.
When the students completed their questionnaire you can end the activity and start the groupformation algorithm.
Capabilities for the teachers/tutors
In the "Overview" you can observe how many students:
- assigned to the course
- started to fill out the questionnaire
- completed or submitted the questionnaire
You also can see how long the questionnaire is available to the students and end or start it at any time.
In the "Group formation" tab you can start the algorithm to forming groups. In the settings you can choose to exclude the student who not answered the questionnaire. Tutors, teachers or other not relevant roles in Moodle assigned to the course are excluded from the group formation.
When you start the algorithm to forming groups, it can take a while till it finishes(depending on server and the number of students it could take up to 30 min). If you wish to, you will be notified by email when the group formation is done.
After the group formation succeeded you can see the preview of the groups and their quality, which is the performance index(GPI). You can edit the groups by moving the students from group to group. If you satisfied with the result you can adopt the groups to Moodle. If not, you can discard the results and start the algorithm again.
Here you have a preview of the questionnaire. Your answers will not be saved. Because of your role as a tutor(or similar) you not taking participation in the group formation.
Change settings
In the navigation side bar, which is usually to your right, you can adjust the settings. Some settings will be disabled, as soon as students started to complete the questionnaire. All settings which have no effect to the questionnaire would be still available. Those are for example the group size or number and the time period in which the questionnaire is available to the students.
Installation-wide settings
As Moodle site admin, go to Site administration > Plugins > Activity Modules > groupformation
.
- Archiving time: Groupformations will aoutmatically be archived (anonymized and removal of individual users answers) after the set time.
- Import/Export answers: if set to YES students can export and re-import their asnwers (e.g. in a different course or year after)
- Participant code: (experimental) In case you plan to map the users' answers to other study data conducted, let students enter a participant code at the beginning of the group formation questionnaire. The format is: lldddd (l=letter, d=digit). This data can then be found in the Moodle database for each participant.
How to use the Groupformation Plugin (Developers)
As a developer you might want to edit the questionnaire content or configure the GroupAL implementation.
For manipulation of the properties and configuration of the questionnaire and GroupAL algorithm, take a look at the define_file.php (https://github.com/moodlepeers/moodle-mod_groupformation/blob/master/classes/util/define_file.php). You can edit the categories of the questionnaire and the criteria that are used for the GroupAL algorithm.
For manipulation of the questions of each category, take a look at the directory xml_question (https://github.com/moodlepeers/moodle-mod_groupformation/tree/master/xml_question). You can edit the xml files and add additional categories and languages.
The groupformation plugin relies on the custom library groupAL which can be found in the subfolder ./lib of the plugin. The groupal algorithm is used by the job_manager.php (https://github.com/moodlepeers/moodle-mod_groupformation/blob/master/classes/moodle_interface/job_manager.php) file. You can edit the used matcher and implement further algorithm types.
Thanks guys for the new version, and for the patience. I was able to successfully test the plugin. And I must admit I like the idea of it. It is clear that the current version has been written for a particular use-case and requirements. But there is a way to customize it and eventually in the future, make all the questionnaire questions fully editable via the UI without the need to touch the XML files.
While testing the functionality and reviewing the code, I spotted couple of issues that you might want to have fixed in a future version. None of them looks like an approval blocker for me though. I am happy to approve this now so you can get feedback from wider community.
You are cleared to land, welcome to the plugins directory.
Any updates do Moodle 3.4?
Ricardo
First, although the choices to first question were given, students could not choose the answer to the choice question.
Further, students have answered the third question (multiple answers about the personal characteristics), but could not proceed to question 4. When clicking on “forward” or on to the “question 4” at the top, the page only refreshes and reloads but students remain stuck at question nr.3.
Now I miss "Projekt Teams" in Group formation settings.
There is also missing some of the questions for the students to fill in.
Is there a way to fix this?
mysqli::real_escape_string(): Argument #1 ($string) must be of type string, array given
Error code: generalexceptionmessage
line 1149 of /lib/dml/mysqli_native_moodle_database.php: TypeError thrown
line 1149 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli->real_escape_string()
line 1361 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->emulate_bound_params()
line 1412 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
line 1313 of /lib/upgradelib.php: call to mysqli_native_moodle_database->insert_record()
line 643 of /lib/upgradelib.php: call to external_update_descriptions()
line 923 of /lib/upgradelib.php: call to upgrade_component_updated()
line 677 of /lib/upgradelib.php: call to upgrade_plugins_modules()
line 1953 of /lib/upgradelib.php: call to upgrade_plugins()
line 721 of /admin/index.php: call to upgrade_noncore()