Math Activities

Universal Algebra

Universal algebra is a generalized study of algebraic structures. The following PDFs show the significance of subalgebras, products, homomorphisms and much more. Exercises are at the end of every section.

Category Theory

Category theory is a mathematical study of objects with special kinds of structure, and it is secretly everywhere in mathematics. The following PDFs go over limits, Yoneda's lemma, monads, algebraic categories and many other things.

Calculator (updated 12/4/2010) is a scientific calculator I've written. It is a Calculator with Trail, meaning that intermediate results are printed to a separate window as you go along. It uses the order of operations: 2 + 3 * 3 = gives you 2 + (3 × 3) = 11, not (2 + 3) × 3 = 15. It supports 26 levels of parentheses.

It is one of these tools used for solving and checking. I started this in Java, and then tried Visual Basic, but found a much easier way to implement this here in Python!

Here is a screenshot:

To use the calculator:

Slide Rule

A slide rule lets you do multiplication, division, powers, roots, and other functions, just by sliding parts of the rule around and reading numbers off the scales. It is all based on logarithms, since multiplying numbers is the same as adding their logarithms.

To use my slide rule, download and follow the same instructions as for the calculator above.

To move the slide in my slide rule, hold down the left mouse button and drag the "slide", the middle section with the C and CI, from side to side. To move the red hairline, hold down the right button and drag.

Here are some examples.

Please see Eric's Slide Rule Site for information about the other scales.

We wrote this in 2010. Dad wrote the moving parts of the slide rule and the mouse motions, and he added the C scale. I added the other scales.


I really enjoyed polyhedra when I was in 4th and 5th grade. I still love them now. Here are some of the polyhedra I played with back then. Dad wrote a program in Visual Python to make pictures like these. I worked out the details of how to join the vertices and edges together. Here is the code.

The Rhombicosidodecahedron

The Disdyakis Triacontahedron

This is the dual of the rhombicosidodecahedron. Every vertex in the first picture matches a face of this one, and every face in the first picture matches a vertex of this one.

A Die with Thirty Sides

My sister and her friends use this kind of die to play Dungeons and Dragons.