lbass is right on the money. Using his technique with a couple of minor tweaks, I was able to accomplish randomness and having the "cluster" number parameter driven.
Try these steps (all are based upon lbass's steps):
Create two detail sections, A and B. You can do this by right clicking the gray area on the right and choosing "Insert Section Below" from the pop up menu.
Create a formula called "Random" with this in it:
rnd(1)
Add the formula to your detail section B and suppress it.
Add your student field to detail section B as well.
Create another formula called "GroupName" and place this in it:
"Group " + ToText(Truncate(recordnumber/{?NoInGrp}))
Add the formula to your detail section A.
In the Field Explorer, create a new Parameter field called "NoInGrp" and make sure it is of type "Number".
Right Click Details A and shoose Format Section.
Select the X+2 button next to Suppress and the following:
Remainder(recordnumber,{?NoInGrp}) <> 1
Lastly, add the @Random formula to Report->Sort Records.
Save the report and Test it.
Again as lbass pointed out, they are not true groups, but clusters of records that appear to be groups. Every time that you run the report, your students will be in a different order and potentially in different groups.
~Brian