All modules require Java 6. (Download Java 6)

To start a module either press the Launch button or download the JAR-file and execute it with a double click or through your command line console.

Boolean Cube
Find a minimal boolean formula which is true for the input configurations marked red in the cube.
A boolean cube is a visual aid to find a minimal formula for a boolean function. Boolean functions calculate a boolean value (true or false) based on several boolean input values, which are combined through logical operations (AND, OR, NOT, etc.). In a boolean cube each vertex corresponds to a certain configuration of input values. The task of finding a minimal formula for a boolean function which is true for a given set of input value configurations is equivalent to finding a simple way to select the corresponding set of cube vertices.
George Boole | Boolean algebra
Ivan Guajana, Reto Lamprecht, Jürg Nievergelt

JAR ( Help )

 

Random Numbers
Identify the shortcomings of random numbers generated with a deterministic algorithm.
Generating sequences of random numbers is useful for many applications. But the term random is actually an inherent contradiction to the term deterministic algorithm. This module lets you examine one wellknown and widely-used procedure which creates sequences of "pseudorandom numbers" with quite good statistical characteristics for certain parameter settings.

To experience the random number sequence acoustically, you need to have a MIDI soundbank installed. (Help)
Pseudorandom number generator | Linear congruential generator
Ivan Guajana, Reto Lamprecht, Jürg Nievergelt

JAR ( Help )

 

Recursive Images
Explore the beauty of recursive images.
"In order to understand recursion, one must first understand recursion." According to Wikipedia, Recursion, in mathematics and computer science, is a method of defining functions in which the function being defined is applied within its own definition. The term is also used more generally to describe a process of repeating objects in a self-similar way. With this module you can define a pattern of lines which will recursively replace all the lines it contains.
Recursion (Definition) | Recursion
Aurea Perez, Reto Lamprecht, Jürg Nievergelt

JAR ( Help )

 

Steganography
TODO
TODO
Steganography | Digital Watermark
Mirco Fröhlicher, Bernhard Buss, Jürg Nievergelt

JAR ( Help )

 

Image Compression
Compare different strategies to efficiently represent image data.
To make everything as simple and efficient as possible is a fundamental quest of computer science. The tools in this module introduce two methods to efficiently express the shape of a bitmap image, as well as a board game called "Land Grab" derived from one of those methods. As you will see, data compression is always a trad-off between memory usage, compression speed and data loss.
Data Compression | Image Compression
Mario Eberhard, Mirco Fröhlicher, Reto Lamprecht, Jürg Nievergelt

JAR ( Help )