All modules require Java 6. (Download Java 6)
To start a module either press the Launch button or download the JARfile 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.
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.
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 widelyused 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)
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 widelyused 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
Ivan Guajana, Reto Lamprecht, Jürg Nievergelt
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 selfsimilar way. With this module you can define a pattern of lines which will recursively replace all the lines it contains.
"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 selfsimilar way. With this module you can define a pattern of lines which will recursively replace all the lines it contains.
Steganography
TODO
TODO
TODO
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 tradoff between memory usage, compression speed and data loss.
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 tradoff between memory usage, compression speed and data loss.
Data Compression

Image Compression
Mario Eberhard, Mirco Fröhlicher, Reto Lamprecht, Jürg Nievergelt
Mario Eberhard, Mirco Fröhlicher, Reto Lamprecht, Jürg Nievergelt