Software


Group Explorer
Visualization software for the abstract algebra classroom
Group explorer website (app, docs, etc.)
Ray Ellis and Nathan Carter
Include all groups up to order 20 plus noteworthy groups of higher order. Runs fully in the browser, supporting Cayley diagrams, multiplication tables, cycle graphs, and other visualization types. Constructs diagrams of homomorphisms between visualizations to illustrate key group theory concepts, and allows the user to do so as well.

How to Data
A free reference for data science students
Nathan Carter and several student contributors
How to Data is a free, online reference site targeted primarily at analytics and data science students. It’s organized around statistical and data-related tasks and shows their implementation in a wide variety of software packages.


Teaching tools
- a Simple Course Management System addin for RStudio Server Pro, described in this paper
- a very basic ray-tracing tool in JavaScript, useful when teaching the mathematics of computer graphics; see the appropriate chapter from my textbook on that topic.
- animations for common data table manipulations, which I use when teaching data science.
- an online tool for speeding up manual grading of homework assignments in Jupyter notebooks.
I also co-directed the Lurch project for many years, but gave that project to Ken Monks in the fall of 2024.

Logic games
- a website where you can play games on various first-order models, such as natural numbers, real numbers, words, or even people
- a toy deductive system that has little to do with logic, and can be used to illustrate the idea of formal proof in a simple and fun context.

Three GAP packages
During the 2018-2019 academic year, I was a research fellow at the University of St Andrews in Scotland, where I worked part-time on the GAP team. Although I have not worked on the packages much since then, they include:
- a package that adds visualization tools for use in Jupyter notebooks or from the GAP REPL.
- a package that applies the previous one to visualizing semigroups.
- a package that applies the previous one to importing group theory visualization tools from Group Explorer. Group Explorer itself is covered earlier on this page.