In this project students work either individually or in pairs to write a program that generates random Picobots, robots that move around a world according to a set of rules, and creates subsequent generations by "mating" the "fittest" Picobots. Students must write at least two classes, one to represent a Picobot program and one to represent a Picobot world. They use these classes to generate a random generation of Picobots to begin and assess the fitness of each Picobot, mating them and outputting the results for each generation. In addition to reviewing classes, strings, and random number generation, this project requires students to design their own classes. It is particularly useful for students who need additional practice designing multiple, interacting classes.
Integrate pair programming when it is appropriate for students to collaborate on a lab, assignment, or project.
This material uses topics from biological evolution as a way of providing Meaningful and Relevant Context. Incorporates Student Choice by permitting the implementation of additional features for extra-credit.