# Marine Biology Simulation

# Case Study

## Distribution File Contents

The Advanced Placement® Marine Biology Simulation case study presents a simulation program designed to help marine biologists study fish movement in a small, bounded environment such as a lake or bay. It will be a required part of the AP Computer Science A and AB curricula starting in the 2003-2004 academic year.

When you unzip the `JavaMBS.zip` distribution file, it creates a folder or directory called `JavaMBS`. That folder contains this file (`index.html`) and several sub-folders.

These folders are described below.

Code
  This folder contains the source (`*.java`) files for the classes students will study as part of the case study. It also contains two libraries (`mbsbb.jar` and `mbsgui.jar`) of additional, pre-compiled classes required by the application. Students will need to read the documentation for some of these classes (found in the `Documentation` folder), but they do not need to understand (or even look at) their implementations.

  Students will study a few classes in each chapter of the case study. The table below shows which classes are introduced in the each of the chapters of the case study; the ones in bold are the ones whose implementation or class documentation will be tested on the Advanced Placement exam.

  Chapter | Classes Students Study (`Code` Folder) | Class Documentation Students Read | Other Classes Mentioned
  1 | SimpleMBSDemo1 SimpleMBSDemo2 |  | MBSGUI (for running) BoundedEnv Fish Location SimpleMBSDisplay Simulation
  2 | Simulation Fish | Environment Location Direction Debug EnvDisplay Locatable RandNumGenerator | SimpleMBSDemo1 SimpleMBSDemo2 MBSGUI
  3 | Fish (modified) |  |
  4 | DarterFish SlowFish |  |
  5 (AB) | Environment BoundedEnv UnboundedEnv | SquareEnv | MBSGUI (further testing)

DataFiles
  This folder contains a number of data files that provide initial configurations for fish in an environment. Each file in this folder specifies the dimensions of a bounded environment and the initial locations and directions for a number of fish. The case study narrative directs students to use several of these files, but they are encouraged to experiment with all of them. There is another folder inside the `DataFiles` folder called `UnboundedEnvDataFiles`, used in Chapter 5.

Documentation (Class Documentation)
  This folder contains documentation for all the classes in the case study whose implementation or class documentation students study. The documentation was created using the standard `javadoc` documentation tool. (For those coming to Java from C++, the class documentation created by this tool is similar to the information found in C++ header files.)

  The `Documentation` folder also contains the help file for the graphical user interface provided as part of this distribution. You can read this help file by choosing "Help..." from the program's Help menu or by viewing it directly in a web browser.

ExecutionInformation
  This folder contains information (or pointers to information) about compiling and running the Marine Biology Simulation in several common environments, including DOS and UNIX/Linux/OS X command lines, BlueJ, CodeWarrior, JCreator, and TextPad. APCentral will provide updated instructions for using these and other compilers and development environments as information becomes available.

Narrative
  This folder contains the narrative for the Marine Biology Simulation case study in PDF format. The narrative consists of 5 chapters that introduce students to an existing program, describe modifications to it, and provide discussion questions and programming exercises for students to explore the program's design and implementation. The APCS A exam covers material in chapters 1 - 4; the AB exam covers the material in all 5 chapters.
  - Chap. 1: Experimenting with the Marine Biology Simulation (can be done early in the school year)
  - Chap. 2: Guided Tour of the MBS Implementation (assumes that students are comfortable with class implementations and multiple interacting classes)
  - Chap. 3: Creating a Dynamic Population (modifying the `Fish` class)
  - Chap. 4: Specialized Fish (extending the `Fish` class through inheritance; Chapters 3 and 4 may be covered in either order)
  - Chap. 5: Environment Implementations (exploring alternative implementations for the `Environment` interface (AB exam only))

  APCentral will provide links to peer-reviewed materials contributed by members of the AP community that can be used as lead-ins to the case study.

Copyright© 2002 College Entrance Examination Board (www.collegeboard.com).