Date of Award


Document Type

Thesis open access


Computer Science


Cellular automata are a type of simulation based upon dividing space into cells. More specifically, cellular automata are characterized by parallelism, locality, and homogeneity. A simulation is run by conducting a series of updates, consisting of running a set of rules that all cells follow. The rules typically consist of looking at a cell's immediate neighbors and/or itself to determine what will be in the cell at the next step. The rules are applied to all the cells at exactly the same time in exactly the same manner. The use of cellular automata has been limited to computer scientists, those who can write code, and people who understand the traditional nomenclature. Physicists, mathematicians, or even those who are just interested in different types of simulations should be able to fully explore the full potential of cellular automata. In order to expand the use of cellular automata to additional fields, my research has led to the creation of a program that allows users to easily create cellular automata without having to have foreknowledge of cellular automata terminology. The user is taken through a series of steps where they can control the size of the system, the number and speed of iterations, define the system variables in their own terms, populate the system however they wish, and make their own rules. The program also allows extreme flexibility so that non-traditional simulations can potentially be explored.