An AP Computer Science A programming assignment for Mr. Simon's APCSA course at Lowell High School, San Francisco, USA
JavaScript Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
Chemotaxis.pde
README.md
index.html
processing.js
styles.css

README.md

Chemotaxis

Chemotaxis is when an organism moves toward or away from a chemical stimulus like food. Biologists write software using random walks to model and study how very small organisms like bacteria search for food. In this assignment you will create a simulation of organisms moving away from a starting position using a random walk. To start the assignment, fork this repository. You may find slides 241 - 345 on apjava1.pptx and the Arrays of Objects worksheet helpful. NOTE: you must use Math.random() for all the random numbers in this assignment.

Requirements

  1. A class to represent a single bacteria or some other single organism. The class will have the following members:
  • 3 ints which hold the x and y coordinates of the bacteria position, and the bacteria color.
  • A constructor which initializes the 3 ints
  • void move() which moves the bacteria in a random walk pattern.
  • void show() which draws the bacteria using the three member variables
  1. You will then use an array to store many instances of the Bacteria.

Extensions

If you have extra time, you might try to have the bacteria move in a "biased random walk" towards some stimulus like a piece of food or the mouse. You can use the mouse buttons to adjust the bias towards or away from the mouse. You can modify your class so the bacteria have a finite lifespan and can reproduce. You can simulate other organisms besides bacteria and even have multiple types of organisms like a predator and prey. Your simulation doesn't have to look like any other. Have fun and be creative.

Samples of Student Work

Lily
Wilson
Jing
Alyssa
Melinda
Annie
Jack
Kris
Lena
Emi
Lancy
Lianne
Joey
Bryan
Katie
Athena
Sarah
Maxwell
Claudia
Emily
Jacky
Raymond
Natalie
Ashlyn
Jennifer
Wilsomn
Warren
Lalit
Ryan
Emma
Jaime
Erin
Hannah
Zachary
Sherissa
Victor
Emily
Jeffrey
Vincent
Jonathan
Crystal
Wesley
Oona
Emil
Alex
Justin
Nick
Scott
Tristan
Tim
Chanel
Jasmine
Chase
Mariann
Albert
Michelle
Ben
Kelly
Trevor
Gordon