Course Level
Knowledge Unit
Fundamental Programming Concepts
Collection Item Type

In this project, students are tasked to build a battleship-playing program that will outsmart their classmates' programs. Using Python, students must use a bottom-up approach, in which they start out by writing the most basic functions and then write higher-level functions that call these basic functions, and so on.


Use pair programming and/ or student to student interaction to have groups of students work together to come up with programs which may outsmart other programs being developed. By working in teams and discussing different scenarios, students are likely to come with more creative and innovative approaches.

Engagement Highlights

Using the Python programming language, students are asked to build a game of battleship that will outsmart their classmates programs. Python is used as well as step-wise refinement. By using a common game, this project uses Meaningful and Relevant Content.

Engagement Practices Employed

Materials and Links

Computer Science Details

Programming Language

Material Format and Licensing Information

Creative Commons License