Course Level
CS1
Knowledge Unit
Fundamental Programming Concepts
Collection Item Type
Project
Synopsis

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.

Recommendations

Integrate pair programming when it is appropriate for students to collaborate on a lab, assignment, or project.

Engagement Highlights

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.

Materials and Links

Computer Science Details

Programming Language
Python

Material Format and Licensing Information

Creative Commons License
CC BY-NC