How it all began ...


CMU 05 Pedagogy Colloquium, CMU April 05
Jeric 05 CDM: Teaching discrete mathematics to computer science majors, J. Educ. Resour. Comput., 5 (2005) 2, pp. 1-11
IU 14 Turing vs. Bourbaki, Indiana U Bloomington, 2014.
Genealogy A mathematical genealogy.


To interact with the Mathematica notebooks at this site you can
  • Get a student copy of Mathematica -- recommended.
  • Use any Andrew machine.
  • On occasion, Wolfram Alpha may also be useful for small computations.
A very basic introduction into the use Mathematica can be found at here.


Most of the Mathematica notebooks require an add-on package Automata, at least for execution of the instructions. The code is available at

Note to users of previous versions: there is currently no support for the external code, nor is there a help browser.


If you are more adventurous there is an excellent open source computer algebra system at Sage Logo. The interface language is python, and the system incorporates a large number of open-source packages.