Fire simulation can be modelled in software and is an important area of research in fire safetyi , fire drill managementii, fire investigationiii, and with applications in many computer game scenariosiv . One way to look at the world in software is to study a process as a group of smaller pieces (or cells or sites) that are somehow related. For example the world can be viewed as a rectangular grid of cells. Rules specify how a cell changes state over time based on the states of the cells around it. Each piece corresponds to an area (or volume) in the world and each piece can be associated with one of several possible states at any given time. A computer simulation involving such a system is called a cellular automaton. This assignment requires you to design and implement a program that models the spread of fire in a 2D forest environment.