Exploring Abstract Algebra With Mathematica®