To view the Mathematica notebooks at this site you can
  • use any Andrew machine,
  • download MathPlayer from WRI (you will not be able to execute any of the code), or
  • get a student copy of Mathematica at Download.
A very basic introduction into the use Mathematica can be found at intro.


Another well-known computer algebra system is Maple from Maplesoft. It is also available on any Andrew machine. Apparently only graduate students can download their own version.


If you are more adventurous there is an excellent open source computer algebra system at Sage Logo. SAGE provides a python-based frontend for a number of libraries, some of which are quite good and occasionally outperform commercial systems.


A state-of-the-art proof assistant based on dependent types can be found at LEAN. The tutorial this site is very, very useful. Plus, you can use LEAN in your browser, without any local installation.


Some of the Mathematica notebooks used in CDM require an add-on package automata, at least for execution of the instructions. An update for version X should be finished some time this Fall (famous last words). Currently things are still a bit rough, but feel free to download the following macro files.

Other Code

golly Excellent GoL simulator. Raw C++ code for the Ackermann function.
pitiny.c Obfuscated C code for the first 10000 digits of pi.
xsand.c M. Creutz's two-dimensional sandpile program.
xsand.txt Documentation for xsand.