Assignment 1


This programming assignment is the first of a series of assignments centered around a common theme. The idea is to get some programming practice in Java, while also improving programming skills (for example: critical thinking, problem solving, software engineering).

In this assignment, you will simulate a forest fire using "trees" on a "landscape". Here, the landscape is going to be 2-dimensional grid of cells, each of which either contain a tree or not. This rudimentary landscape is useful in studying burn patterns, safety measures and the effects of a "controlled burn".

For example, here is a 5 x 5 grid with 17 trees, represented with ones and zeroes (1 = tree).

   1 1 1 0 1
   0 0 1 0 1
   0 1 1 1 0
   1 0 1 1 1
   1 1 0 1 1
And here is a 3 x 3 grid with 5 trees:
   1 1 1
   0 0 0
   0 1 1

The following "rules" determine the behavior of the system:

Your goal in this project is to identify all the Type-1 clusters and to consider the effects of a controlled burn on both types. This simulation that you will write is part of a long tradition of simulating "macro" behaviors (for example: a complete burn) that arise from local behavior of small units (a burning tree ignites its neighbors). This types of simulations are often called agent or artificial society simulations.

Next, we will introduce the notion of "time-steps" in simulating an actual burn:

Additional notes:

Examine the file Assign1.java and observe the following:

Deliverables and submission: