Universal algebra is a branch of mathematics which was originally concerned with abstract generalizations of algebraic concepts. It is perhaps surprising then that the ideas of universal algebra have played a significant role in such areas of computer science as the specification of data types, the semantics of programming languages, and the theory of compilers. Equally surprising is that the seemingly abstract fundamental constructs of universal algebra can be easily implemented on a computer using a symbolic computation system such as Mathematica in a manner that makes it possible to construct and explore interesting computer science examples.

In this talk we will give an introduction to universal algebra for non-mathematicians, illustrate its application to the syntax and semantics of programming languages, and describe how the basic constructs of universal algebra can be implemented within Mathematica.

Demonstrations of the Mathematica programs (notebooks) implementing the material in the talk will be given on a later date and, if there is sufficient interest, more detailed talks may also be given.