🇩🇪 🇬🇧


This website helps to divide school classes into equal-sized groups for hybrid learning while preserving friendships and contact, minimizing infection risk on the fly.

Step-by-Step Explanation

  1. 1. Enumerate students

    Students are given consecutive numbers 1, 2, 3,....
  2. 2. Create contact lists

    Students write down the numbers of classmates with whom they have contact outside of school (downloadable form).
  3. 3. Enter data

    School staff enters the class size, the desired number of groups, and the contact lists in the fields below.

The website proposes a division of the class, which keeps the number of contacts between the groups low. The groups have approximately the same size.

Questions and Answers

What is this about?

The application divides a given class into several groups of approximately equal size, while keeping the number of contacts between them low. The number of groups can be set.

What are the benefits?

Hybrid teaching with split classes is challenging for everyone. Therefore, it is important to choose a sensible division of the class. From a social perspective, this means that as many friendships as possible should be preserved. This promotes acceptance and well-being among students.

From an epidemiological perspective, the number of out-of-school contacts between groups should be kept as small as possible. The idea of the division is to narrow contact networks. It would therefore defeat the purpose, if the students from different groups met again in the afternoon in sports clubs or at home. In the end, the virus would find its way back into both groups.

Network researchers have already investigated the epidemiological effect of split classes in detail, and how much this effect can be further increased by minimizing the contacts between divisions. The greatest effect is always achieved by the division itself. But the more out-of-school contacts are prevented, the more effective the division becomes.

The goal of this application is therefore to help in finding a division that reflects these issues.

What data is needed?

The exact definition of a contact is for the school staff to judge. For example, a contact can exist, when two students meet outside of school or even if they are simply friends. However, all students must be clear about the definition when they create their contact lists.

What about data protection?

The evaluation takes place locally on the user's computer. No personal data is sent, stored, or distributed.

Do I have to stick to the result?

No. When dividing classes, many other factors can play a role that cannot (or should not) be captured by the formal rules of a computer algorithm. The calculated group division can help to create a good proposal but should not be regarded as an unchangeable result.

How good is the division?

Under the given conditions (class size, number of groups, contact lists) the application calculates a division in which the number of contacts between the groups is kept low. However, note that currently no efficient algorithm is known for an optimal solution to this problem (graph partitioning). Therefore, we cannot give a theoretical guarantee for the quality of our solution. Yet, in practice, our results are almost always very close to the best possible values. For optimal solutions and larger classes, we recommend professional programs like KaHIP.

What happens in the background?

The underlying algorithm is based on Fennel, a heuristic for graph partitioning. To improve the result, Fennel is run multiple times with a randomly chosen order of students. Therefore, the input order of the students does not affect the overall result. Furthermore, a repeated calculation may lead to different results. Anyone who would like to look at the code or contribute can do so on Github.

Are mutual contacts weighted twice?

No. The application assumes that there is a (full) contact between two students as soon as at least one of them has indicated seeing the other.

How is the project financed?

We pay the server costs ourselves. The development of the website was done in our spare time, the application is free to use and will remain so.

Who is behind it?
  • Richard Lang, data processing
  • Alexander Radtke, This & That
  • Clemens Stolle, web development
Questions, feedback, suggestions?

Send us a message: feedback@dividi.app