This was kind of an odd assignment. "Randomness" has been something of a sticking point in our class. I don't really know what the big deal is: pseudorandom number streams are just part of computation, and if you are careful you can use them nicely in a design. Anyway, this assignment was aimed at trying to get us to think about random number generators.
Part of the assignment was to implement our own random number sources.
I do this stuff for real as part of my research (simulation and
cryptography), so it was hard to be creative about it. I ended up with
a couple of Additive Congruential Generators:
X_n = X_(n-r) + X_(n-s) mod mwith some atypical seeds (the time the program was started squared or cubed, and times of mouse events). The neat thing about this is how much history is stored in the generator.
As for the designs, I'm actually happiest with the simplest first one, just the portrayal of random numbers. I stole the font bitmap from somewhere and wrote a bit of code to render it, that was fun. And the little guide marks in the middle top and bottom are really important in the design. Amazing what a few pixels can do.
The flashy colour applet shows you how one should not use random numbers. I knew that already, but it's nice to see the effect. Random numbers set the hue, saturation, and brightness for each half. Ick! The other colour applet tries to be more subtle - changes aren't abrupt, and each side tries to look something like the other side's colour. I'm not sure how effective this really is.