Course Level
CS1
Knowledge Unit
Development Methods
Collection Item Type
Project
Synopsis

In this project students work either individually or in pairs to write an open-ended game loosely based on pool. Using VPython, students must write a pool-like game with a cue ball (or other object) that the player controls directly, other balls, walls, and some kind of hole in which the balls can fall (or other goal). These different objects must be able to interact simultaneously with some semblance of physics, either realistic or wacky. In addition to requiring students to work with graphics, this project allows students to work on creating their own programatic design. It is particularly useful for students who need additional practice designing and then implementing large programs.

Recommendations

Integrate pair programming when it is appropriate for students to collaborate on a lab, assignment, or project. The “driver” controls the mouse and the keyboard, while the “navigator” makes suggestions, points out errors, and asks questions. Partners routinely switch roles to gain the benefits of each role.

Engagement Highlights

Incorporates Student Choice by having open-ended specifications. Uses a well-known game (pool) as a way of providing Meaningful and Relevant Context.

Materials and Links

Materials

Computer Science Details

Programming Language
Python

Material Format and Licensing Information

Creative Commons License
CC BY-NC