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.
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.