

Genetic Grouping Algorithm for Cooperative Learning (GGACL)
-----------------------------------------------------------


This directory contains experimental code for grouping 
classes of students based on prior results.

Grouping is done to optimise two objectives:

   1. The uniformity of mean performance between groups

   2. The uniformity of spread of student performance  within each group.

That is, the groups chosen by the grouping algorithm will be close on the
mean scores of the student and have a similar mix of capabilities 
based on prior performance within each group.

DISCLAIMER: This algorithm is useful for deriving an initial grouping
in the common case that you have access only to prior marks. If you have 
access to other information about traits and preferences you will want to 
use these in forming groups. Good practice in cooperative learning dicatates 
that you and the students monitor group performance and dynamics over time
and intervene and regroup as required.


Running the Algorithm
---------------------

Build the Evolver by typing:

  javac *.java

See the file InstructionsForEvolver.txt for information in running
the evolver. A range of sample data files can be found in the 

  data

directory and a range of sample config files can be found in the 

  config 

directory. Good starting configurations are:

  config/config_3_1_1.txt    (for groups of three)
  config/config_4_1_1.txt    (for groups of four)
  config/config_5_1_1.txt    (for groups of five)


Updates
-------

The algorithm works but the code and the functionality are
basic. In the medium term we plan to refactor the code and
add a GUI to make the package intuitive to use.

Brad Alexander,

July 2009.


  




   