^{1}]. Compared to large-class settings, students in groups more often explain issues to each other and debate them [

^{2}]. The interaction is often cooperative instead of competitive, at least within a group, creating the opportunities to acquire teamwork and collaboration skills and develop interpersonal skills [

^{3}]. While most commercial learning management systems (LMSs) provide support for manual group formation only [

^{4}], several approaches have been developed in the CSCL community to support automatic group formation [

^{5}], [

^{6}]. Since students using CSCL systems often work at their own pace as a member of large learner community, automatic grouping is especially interesting. Some researchers have even automated when learners should transition from an individual learning mode to a group mode [

^{7}].

^{8}] suggest that the power to assign students to groups should be shared between instructor and students. However, they also make clear that complete power should not be given to students to assure that groups have an appropriate mix of higher and lower skilled students. Yohanan and Revital [

^{9}] found that achievement was highest when both instructor and students were in control of forming groups and lowest when neither was in control. Students seem to prefer assignment to groups based on some objective criteria over random or subjective allocation [

^{10}], [

^{11}]. Chapman and colleagues also suggest that self-selected groups are probably better than random assignment [

^{10}].

^{12}], [

^{13}], for instance, using reciprocal teaching [

^{14}], [

^{15}]. Other research suggests that heterogeneous groups are to be preferred because they may result in more creative behavior [

^{16}]. Grouping students by ability, especially for reading, results in relatively homogeneous groups that can progress at a similar pace [

^{17}]. Groups where each student knew at least one other student, which can be easily achieved by assigning student pairs to groups, were found to do better than randomly assigned groups [

^{8}]. Researchers have also found that good students perform better in homogeneous groups, whereas weaker students tend to do better in heterogeneous groups [

^{18}], [

^{19}].

^{20}] did not find a clear benefit of random assignment over some scientific assignment, whereas Muller [

^{13}] found only a small benefit for groups balanced for some student characteristics over random groups. Some research suggests that the instructor ought to assign the students to groups, because left to themselves, the students tend to build groups with rather unequal skills [

^{21}]. However, this seems to apply more to young students and less so for college students. Given all these mixed results, it is rather unclear whether we can refer to a scientific method at all.

^{22}], [

^{23}], whereas others minimize the differences between groups [

^{24}]. Both approaches tend to result in similar group assignments.

^{5}]. Furthermore, such general criteria can also be combined, for instance, by preferring homogeneity for some characteristics and heterogeneity for others [

^{25}].

^{4}].

^{8}], or some students should not be in the same group because they had negative experiences with each other in groups before. It can easily happen that no solution can satisfy all preferences. Therefore, we consider preferences only and no hard constraints that must absolutely be satisfied. Nevertheless, by weighing preferences differently, we can simulate harder and softer constraints.

^{26}], a flexible heuristic problem solving method, can be used to solve it. Although the found group assignments may not be always optimal in a purely mathematical sense, they are pedagogically effective, because they also satisfy most learning situation-specific requirements.

^{27}]. Although they stated that the preferences of faculty and students need to be balanced, they maximized the sum of the preferences of the faculty only. Their optimization function considered the faculty preferences for teaching a certain course subject to the necessary constraints like how many courses somebody teaches and what time slots are available.

^{24}]. Beheshtian-Ardekani and Mahmood [

^{28}] balanced the distribution of student experience by making within-group totals of student background scores as equal as possible. To assign the students, they used a greedy heuristic algorithm which tends to be reasonably efficient but delivers suboptimal results. Similarly, Weitz and Lakshminarayan [

^{22}] created maximally diverse groups by maximizing the differences between all student pairs across all groups. They solved the problem using a heuristic approach based on a solution to scheduling and VLSI design problems. These approaches maximize the sum of group qualities. For the trivial case of two groups, this means that one group may have a high value and the other a low one since the sum of the values is maximized. This can result in homogeneous groups that are balanced by highly diverse groups, thus leading to pedagogically unsound groups. If one is not careful, pedagogical quality is traded off for mathematical optimality.

^{24}] discuss several optimization functions to form maximally diverse groups. As they point out, the assignment problem has the same structure as many other optimization problems found in industry. Although we, therefore, need to take advantage of solutions from those related problems, it is important not to lose track of the actual pedagogical problem of assigning students to groups. Sometimes, the optimization criteria used are quite difficult to justify or understand in pedagogical terms. For instance, DIANA is a system that uses a genetic algorithm “to achieve fairness, equity, flexibility, and easy implementation” [

^{23}]. However, how this is achieved is discussed at an implementation level only when describing the specifics of the genetic algorithm. Even though the resulting assignments may be good, it will be difficult to accommodate changes to the requirements and preferences when expressed in pedagogical terms. Preferences always need to be first expressed clearly in pedagogical terms, and then, translated to whatever implementation is used. Modifying the implementation directly without having a pedagogical representation of the changes may lead to pedagogically unclear or even unsound results.

^{25}]. Heterogeneous groups correspond to maximally diverse groups already discussed, and in homogeneous groups, the students are very similar to each other with respect to the selected characteristics. In a mixed group, the instructor can select which characteristics should be similar and which ones different among the students. Another variation of the diversity-based approach is taken by the squeaky wheel algorithm which finds a grouping of students that attempts to optimize the compatibility of the students with the other students in the same group [

^{29}]. The compatibility is based on a rating provided by the students reflecting how much they would like to work with a fellow student; thus, it implements an idea similar to the friend/foe classification.

^{30}]. The collaborative learning environment I-MINDS uses an agent-based bidding approach called VALCAM [

^{5}] to form groups of learners. The goal of the agents is to assign learners to groups with high expertise and social relationship values.

^{20}] used the students' learning styles, and the groups were formed such that each contained all different learning styles. However, these groups did no better than randomly assigned groups which may be explained by the mixed reputation learning styles have [

^{31}]. Personality types similar to Myers-Briggs model [

^{32}] were used to assign students to groups without reaching conclusive results [

^{33}], [

^{16}]. Several approaches use measurements of skill and experience [

^{13}], [

^{2}] whereas others are open to any characteristics that then can be plugged into their optimization algorithm [

^{22}], [

^{24}], [

^{23}].

^{27}], [

^{28}], [

^{22}], [

^{24}]. For instance, Weitz and Lakshminarayan [

^{22}] maximize diversity across all groups by maximizing the sum of all student differences within a group for all groups. Even a mathematically optimal solution may result in some groups being quite homogeneous, if they are balanced out by some highly diverse groups. The approach presented below avoids these problems and adds context-specific criteria.

^{26}], [

^{34}]. Being a heuristic approach, it does not guarantee finding an optimal solution each time.

^{35}]. It keeps a history of the moves and uses their characteristics to avoid being stuck in a suboptimal solution. Only admissible moves can be chosen, that is, moves that are not tabu or satisfy the aspiration criterion. Therefore, in addition to the typical elements found in other heuristic search methods, Tabu Search also requires the definition of the tabu restrictions and the aspiration criteria. Like most heuristic search methods [

^{36}], the representation of a state, moves between states, and an optimization function need also to be specified for the specific problem to be solved.

**3.3.1 Maximally Diverse Groups**Many group assignment algorithms have focused on creating maximally diverse groups where the sum of pairwise differences of some characteristics is maximized. The difference between two students and can be defined as

(1)

The goal of creating maximally diverse groups is then formulated as adding up the differences for all groups and all student pairs within each groups, that is,

(2)

The members of the groups are of being represented as . This is the same formulation used by other authors [ ^{22}].

**3.3.2 Evenly Skilled Groups**One should not assume that groups will work well just because they are formed properly according to some criteria. In some group projects, it makes a lot of sense to encourage the teams explicitly to teach each other relevant skills and knowledge that some but not all group members have, consistent with reciprocal teaching [

^{14}]. Originally, reciprocal teaching was used to improve reading comprehension where students would take turns in leading the discussion. In this way, the students took on the role of the teacher. In a situation where students have a slightly different skill set, they should help the other students to learn it. However, this may not come naturally without the explicit encouragement of the instructor who is not present in most of the group meetings. Thus, students should be assigned to teams such that all the relevant skills are covered. This not only improves the chance of doing a good project, but it also enables reciprocal teaching.

The even skilled criterion is especially interesting for skilled, yet diverse student populations. They can be found interdisciplinary programs such as cognitive science or human-computer interaction. Other typical situations matching this student profile are business administration (MBA) courses and programs helping professionals to find new careers. The latter has become especially important in the current economic situation where many jobs disappear and people have to learn a new profession. It surely would be useful to take advantage of these students' existing skills in the classroom.

Table 1 shows a small example with three groups, two skills and , and four students per group. Each skill is rated on a scale from 1 to 5 with 5 being best. The last line displays the maximal rating for each skill and group. For instance, skill gets a rating of 3 for groups 1 and 2, suggesting that these groups will have problems because nobody is very good at skill . On the other hand, group 3 has a rating of 5 for skill which means that this group will do fine for skill . Furthermore, if the students indeed teach each other as they were asked to by the instructor at the beginning of the course, the first student in group 3 with the high rating will teach the others. Thus, the other students in that group will improve for this skill probably more than the members in groups 1 and 2. Therefore, the worst value for skill across all three groups is and for it is . These two values are computed by (3). Since we want to have high values for all skills, we maximize the worst skill, that is, needs to maximized. As explained below, a slightly different function shown in (4) is maximized to improve the performance of the search algorithm.

Table 1. Example for Evenly Skilled Groups

Therefore, we define a new optimization criterion, evenly skilled groups, by maximizing the minimal skill for each group. Assume that we want student groups to have some minimal expertise in designing a system architecture, in user experience design and writing reports. The group skill for each of these individual characteristics is the maximum over all the members' skills. Since we want to maximize the worst skill of the group, we maximize over the minimal group skill. This avoids the problem of having imbalances that can result from a global sum of differences only as discussed in Section 2. Let be the worst value for skill across all groups, that is,

(3)

Then, we ought to maximize over the worst skill, that is, maximize . However, this is problematic because this function is not smooth, giving the search very little information about the quality of the individual groups. For instance, if the skills are rated on an -level Likert scale, can assume different values. Considering that tends be small, say five or seven, this is not enough information for the search algorithm to differentiate between solutions of somewhat different quality. Therefore, an additional factor is added such that the sum of the values is also considered. This results in up to more values than without this factor. Although this reintroduces the danger of having imbalanced groups to a minor degree, it contains much more information than the max factor alone. Thus, the actual optimization criterion is

(4)

(5)

^{37}].

**3.4.1 Preferring Friends and Avoiding Foes**Evidence suggests that groups perform better if the students can be in a group with students they like or prefer to work with for some other reason [

^{9}], [

^{17}]. Assume that we let the students prefer to work with some students and avoid some of the other students. Here, the former will be called friends and the latter foes. represents the preference of student to be in the same group as student , where . Of course, is not necessarily equal to :

(6)

Then, the evaluation function can be extended with the following . It adds up the for all student pairs in all the groups punishing the assignment if and rewarding it if :

(7)

A variation of this approach is to change the definition of such that being not in the same group is a stronger preference than being in the same group. This can be simply accomplished by replacing with a smaller value, say , in the definition of in (6).

Assuming that the friends-and-foes preferences should not influence the assignment too much, has to have a relatively small value. Based on the observation that relatively few of these preferences were stated by the students, was set to resulting in for most cases which is much less than . The value of is the worst skill across all groups which tends to be 3 or more (see Tables 3, 4, 5, and 6). This is less arbitrary than it may appear at first. First, the s are normally set once for a certain context. Second, the results are quite stable even if the values are changed. What matters is that the relative sizes of the s are chosen reasonably.

**3.4.2 Distributing Subsets of Students**Sometimes, it can be useful to request that a subset of students be evenly distributed over the groups. For instance, in a mixed course, we have a few students that are participating in the course from remote locations via a synchronous connection. One way of dealing with group projects is to have roughly one remote student per project. This can be easily accomplished using the “foes” idea from the previous section.

Assume that is a set of students that we want to maximally distribute among the groups. This is achieved by setting the appropriate s to as follows:

(8)

Then, can be defined essentially like , namely, by

(9)

**3.4.3 Assigning Students to Specific Groups**Assigning certain students to certain types of groups can be useful. For instance, students can be assigned to larger groups if the students are a bit less experienced or new to the specific academic program. In this case, we simply add a penalty if this condition is violated. Assume that we want to make sure that the students in set are assigned to groups with at least members. Function returns if a student is assigned to a too small group and 0 otherwise:

(10)

(11)

The three functions , , and represent a sample of optimization criteria that come from actual classroom requirements. Of course, this sample is not exhaustive, though it shows how new requirements can be added.

**3.4.4 More Preferences**These examples show that some preferences occurring in educational contexts can be expressed in a relatively simple way without having to change the algorithm itself. However, can all interesting preferences be expressed in the given framework, and how does an instructor with a mathematically average background express such preferences?

Any preference needs to be translated into a function of the form . The larger , the better the student assignment is for this preference. It is advisable to scale so that it has values in a known range, because this makes it easier to weigh it relative to other preferences using . The optimization criteria used or suggested by other group formation approaches are quite easy to formulate in the framework used here. These criteria include heterogeneous groups [ ^{13}], [ ^{21}], [ ^{16}], homogeneous groups [ ^{17}], mixtures of homogeneous and heterogeneous groups [ ^{25}], student location and availability [ ^{4}], meeting capability and gender balance [ ^{38}], and compatibility of students [ ^{29}].

However, we should not expect a regular instructor to have to develop the mathematical formulation of the preferences. They need a proper user interface that allows them to formulate the preferences in pedagogical and organizational terms, not mathematical formulas. This is another reason why it is important that all optimization criteria have a clear interpretation in the domain in which the criteria are originally stated. If the only explanation for a group formation approach is an interesting algorithm, we may lack the possibility of providing a useful and usable interface to the end user.

Table 2. All Input Data and Parameters for Class

^{39}]. Here, it took in the order of 2 hours work using a spreadsheet compared to the 20-40 seconds the Tabu Search algorithm takes. The current implementation is not optimized for speed and implemented in Python, which is an interpreted programming language. It would, therefore, be easy to get a speedup of one or two magnitudes with a compiled language like C++. The complexity of the algorithm can be approximated as follows: Each loop consisting of the Generate, Test, and Update steps has the complexity dominated by the number of neighbor states generated. A good approximation of the number of neighbor states is the number of student pairs (for the swap move) which is , where is the number of students. Thus, the algorithm has time complexity of , where is the number of actual moves made. Test runs show that for the specific stop criterion and queue length; thus, the approximate complexity of TabuSearchSAP is .

Table 7. Finding an Upper Bound (UB) of the Skills for Class

Table 8. Comparison of the Best Solutions Found

^{37}].

^{40}] and some interesting data collected [

^{5}]. However, instead of trying to prove that certain methods—be that homogeneous, heterogeneous, evenly skilled, or yet another criterion—leads to improved learning in certain situations, we can also consider all these approaches, including the set of context-specific preferences defined in this paper, to be part of a tool set for the instructor.

*The author is with the Department of Information Design and Corporate Communication, Bentley University, 175 Forest Street, Waltham,*

*MA 02452-4705. E-mail: rhubscher@bentley.edu.*

*Manuscript received 23 Mar. 2009; revised 18 June 2009; accepted 23 Mar. 2010; published online 15 July 2010.*

*For information on obtaining reprints of this article, please send e-mail to: lt@computer.org, and reference IEEECS Log Number TLT-2009-03-0039.*

*Digital Object Identifier no. 10.1109/TLT.2010.17.*

#### References

**Roland Hübscher**received the PhD degree in computer science from the University of Colorado at Boulder. He is currently an associate professor at Bentley University, where he teaches in the Human Factors in Information Design program. His research focuses on intelligent user interfaces and algorithms to support students and teachers.

| |||