I know this question just celebrated its 8th birthday, sorry. I always think that better late than never.
The range of the output has nothing to do with the period. You can have a truly random generator that produces bits one by one, and it won't be periodic, even if its output only has 2 different values. In your case, the range of the output is from 1 to 30, rather than from 0 to 1, but the idea is the same.
Now, the output of the LCG does have a period of 30, but the output of the shuffle does not. Numbers that enter the Bays-Durham array aren't extracted in the same order they entered, but in a pseudo-random order; a particular number in the array may be delayed for quite some draws compared to others. This changes the periodicity: while the LCG's state can only hold 30 possible values, and hence its period can't be more than 30, the Bays-Durham array and internal index provide additional state that alters the period, without changing the output range nor significantly altering the probability of any particular number. An upper bound for the period of this combined generator is given by the number of its possible states, which if my numbers aren't wrong, is $30^9·8 = 1.57464·10^{14}$ (eight numbers from 1 to 30 in the array, one number from 1 to 30 in the LCG and 8 possible values for the internal index); that's approximately 47.16 bits of information. I don't know if it will achieve that period, though, but that upper limit suggests that it's not expected to be short.
As another example, if the input to the shuffle is the sequence $1, 2, 3, ..., 29, 30, 1, 2, 3, ...$ which obviously has period 30, the first 100 numbers of the output are:
3, 1, 11, 10, 13, 4, 12, 14, 15, 18, 5, 2, 16, 20, 6, 21, 24, 7, 25, 27, 29, 8, 28, 1, 22, 26, 30, 3, 4, 8, 2, 9, 17, 23, 5, 10, 12, 16, 13, 19, 18, 20, 14, 19, 21, 22, 25, 6, 15, 23, 26, 27, 1, 11, 17, 24, 2, 3, 7, 28, 7, 9, 4, 8, 11, 12, 15, 29, 10, 16, 5, 14, 17, 20, 30, 18, 23, 24, 6, 21, 27, 28, 25, 1, 13, 22, 30, 2, 4, 8, 29, 7, 10, 19, 26, 3, 9, 13, 5, 12
No sign of periodicity there, as you can see, even though the input is anything but random. The number 3, for example, appears 4 times, in positions 1, 28, 58 and 96. It's followed by 1 the first time, by 4 the second, by 7 the third, and by 9 the fourth.
If you draw the output in pairs, you can of course plot them in a 30×30 square, because you will have lots of (pseudo)independent pairs. You're not limited to 15 different pairs; you would if you took the period-30 output of the LCG.
This also explains why Bays-Durham breaks the "hyperplanarity" of the LCG: the numbers that were consecutive are no longer consecutive, but instead separated by a (pseudo)random distance, therefore if we try to plot pairs of numbers, we won't be plotting numbers that are consecutive in the LCG.
The above series uses Knuth's method to derive the index, which applied to this case, is $j = \lfloor\frac{8·(X_i-1)}{30}\rfloor$ (as a zero-based index). But the book uses a different method: $j = X_i\bmod 8$, adding 1 to make it 1-based. With that method, I get the following plot out of 5,000 pairs:
I don't know how it compares to either of the images because I can't see them.
Best Answer
The default in GAP is that the random number generator always initializes with the same seed to make calculations reproducible.
One could use e.g.
CurrentDateTimeString
to re-seed the default random number generator with a changing initial value that is unlikely to be the same for two students, if they work unsynchronized.While this is probably not good enough for military grade cryptography, it should scramble sufficiently for classroom purposes.