Skip to content

APCSLowell/Chemotaxis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 22 - 79 on the OOP--ArraysOfObjects presentation 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 int variabless which hold the x and y coordinates of the bacteria position, and the bacteria color. (See slide 35 on the OOP--ArraysOfObjects presentation for one way to store the bacteria color in an int variable)
    • A constructor which initializes the 3 int variables
    • void move() which moves the bacteria in a random walk pattern.
    • void show() which draws the bacteria using the three member variables
  2. You will then use an array to store many instances of the Bacteria.
  3. Personalize the title, headline and footer of index.html

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

Grisela
Patrick
Rachel
Curtis
Vivica
Ken
Trinity
Andrea
Katja
William
Megan
Kathy
Alex
Alan
Heather
Jonathan
Robin
Elsa
Jimmy
Winston
Owen
Albertina
Matthew
Jonathan
Owen
Devin
Simon
Justin
Lila
Jason
Ethan
Nolan
Josh
Johnny
Rodger
Ian
Xinjian
Sandra
Vaselli
Gabriel
Madeline
Noah
Melanie
Kang
Joaquin
Sam
Anna
Alex
Marlon
Rishi
Claire
Eric
Antonio
Kaitlyn
Cara
Yanzhu
Jasmine
Tomas
Hazel
Qi
Matt
Derek
Aaron
George
Annika
Richard
Kazu
Jared
Rahul
Shannon
Kelly
Mike
Brandon
Bryan
Daniel
Max
Teresa
Dylan
Kenny
Emily
Kai
Tommy
Eddie
Francesca
Theo
Rafael
Austin
Jaqueline
Angel
Edison
Reily
Ling
Kimia
Rameses
Alan
Kenneth
Anthony
Chris
Kendrick
Marvin
Lance
Maanav
Andrew
Marisa
Thomas
Norton
David
Omar
Wen
Briana
Josh
Lawrence
David
Anthony
Angel
Wesley
Jocelyn
Lucian
Nathan
Calvin
Esther
Celina
Frida
Mari
Lily
Jessie
Eloy
Megan
Iryne
Vicky
Mia
Fressia
Juliana
Amy
Dylan
Adam
Alex
David
Akira
Audrey
Caitlin
Brendan
Jun
Daniel
Gordon
Raymond
Alex
Gee
Sean
Emma
Johnny
JT
Michael
Jennifer
Andrew
Michelle
Jayde
Angelica
Ian
Brendan
Branson
Andy
Susan
Marvin
Ian
Megan
Nathan
Eric
Cindy
Willis
Dalton
Jason
Esme
Albert
Henry
Matthew
Mampu
Annie
Brandon
Jalen
Richard
Racine
Kam
Devin
Lu-Aung
Kristi
Timmy
Marc
Ethan
Peter
Andy
Eunice
Alexis
Carmen
Alan
Rowan
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
Karina
Bruno
Damian
Paolo
Alvin
Christina
Haden
Joanne
Irisa
Christopher
Kumiko
Wing
Caitlyn
Breanna
Matthew
Yejin
Van
Joshua
Edward
Aiden
Andrew
Jeffrey
Eric
Mira
Austin
Jason
Ivana
Gary
Emily
Akemi
William
Andrew
Brian
Brianna
Caden
Caleb
Daniel
Darren
David
Eric
Hayden
Jacob
Joseph
Joshua
Joyce
Justin
Justin
Lexian
Liam
Lilia
Luke
Nathaniel
Nicolas
Noella
Qiaoyan
Rafael
Stella
Stephen
TommyJun
Vivian
Wendy
Aaron
Andy
Annie
Audrey
Brennan
Christina
Deion
Emely
Ethan
Gabriel
Emily
Ivan
Ivy
Jackie
Jason
Jenna
Jennifer
Joselino
Joyce
Koen
Kyle
Mika
Munkhtushie
Nate
Nathan
Nathan
Noelle
Pyry
Ryan
Sophia
Tobias
William
[//]: # (Block 4, 22-23)
Angela Kevin
Lily
Aaron
Terrance
Jessoca Grace
Daniil Matthew
Leanna Andre
Felicia
Andrew
Calvin
Aaron
Justin
Kyla
Calvin
Alessandra
James
Yuxi
Aaron
Hao
Katie
Benjamin
Etienne
Matthew
Wanyan
Kaitlyn
Austin
Evan
Xiaoyi
Marie-Fleur
Richard
Supath
Amy
Lisa
Jeffrey
Garvin
Ethan
Ekaterina
Cole
Alice
Raymond
Susanna
Jocelyn
Davyn
Francisco
Roan
Lucas
Jenny
Justin
Amiya
Jason
Ngoc
Yuki
Niko
Naomi
Caspar
Charlene
Stanley
Ella
Noah
Yasmine
Ruibin
Wingyan
[//]: # (Block 2, 23-24) Lilah
Finley
Jason
Ethan
Ella
Oliver
Brian
Jaden
Austin
Alyssa
Zachary
Jamie
Jacky
Stephanie
Jeffrey
Zhixuan
Jonathan
Lotuseana
Yatlong
Luca
Xinuo
Blake
Cherise
Connie
Connor
Jocelyn
Kyle
Alan
Kunlin
[//]: # (Block 3, 23-24) ZiXi
Alexander
Trevor
Aden
Casey
Chloe
Haofeng
Mathew
Sebastian
Zhuowei
Alyssa
Timothy
Zhijian
Quinn
Mathew
Isabella
Leo
Sarah
Ian
Annie
Hyunjae
Nathan
Jaime
Eunbi
Katelyn
Koa
Ryan
Chelsea
Tressyn
Henry
Bosco
Pierce
Ronan
Ryan
Jacob
Chase
Erika
Lushi
Leilana
[//]: # (Block 4, 23-24) Kylie
Layla
Caleb
Diamond
Alton
Nathanuel
JunMin
Justin
William
Preston
Katie
Eva
Aegis
Samantha
Nicholas
Greta
Griffin
Conn
Austin
Elton
JianXiang
Evan
William
Adam
Steven
Nika
Danny
Kaitlyn
Connor
Elias
Justin
Dean
Miles
Carrie
Jenny
Dexter
Max
Benjamin
Ezra

About

An AP Computer Science A programming assignment for Mr. Simon's APCSA course at Lowell High School, San Francisco, USA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages