First Advisor

Andrew Wilson

Date of Award


Document Type


Degree Name

Bachelor of Science (B.S.) in Computer Science and University Honors


Computer Science






In my thesis, I describe the work done to implement several Group Theory concepts in the context of the Rubik’s cube. A simulation of the cube was constructed using Processing-Java and with help from a YouTube series done by TheCodingTrain. I reflect on the struggles and difficulties that came with creating this program along with the inspiration behind the project. The concepts that are currently implemented at this time are: Identity, Associativity, Order, and Inverses. The functionality of the cube is described as it moves like a regular cube but has extra keypresses that demonstrate the concepts listed. Each concept is looked at in the scope of Group Theory and how it can be visualized by this simulation. Each implemented concept is then explained in the context of the Rubik’s cube. The code is accessible on GitHub at


In Copyright. URI: This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).

Persistent Identifier