Introduction

In this second part of the project, you will replace your implementation of grids with a more efficient version based on vectors. In addition, you will define a more realistic model that includes randomness, vacines, and mutation of the disease.

Project 2 will be collected from your GitLab repository on Wednesday, June 2, 2021 at 11:59pm.

Before you begin, you should do a pull in your local repository to get the code that we are providing.

Project organization

We have created a directory named proj2 in your GitLab repository. In that directory are placeholder source files for the modules that you will implement. You should start your work by doing a git pull to download the seed code into your local repository.

  • grid.rkt implements the central data structure used in the project. This file is a revised version of the file from Project 1.

  • simulate.rkt is a copy of your submitted Project 1 code.

  • simple-model.rkt is a copy of your submitted Project 1 code. You may find it useful for testing the other parts of the project.

  • model.rkt implements a more sophisticated model to simulate.

  • proj2.rkt combines the various pieces.

We recommend that you work on these modules in the order given above.

Note

Remember that every file should be added, committed, and pushed!

A note on testing modules

We strongly recommend that you implement and thoroughly test each module before beginning work on the next. You will want to have check-expect tests for the functions of each module in the modules (as you have done for single-file examples). You should have only one instance of the (test) command in your code at any time. Typically, it should be in the file that you are currently working on.