600.106 Pre-programming (Algorithmic Thinking)
Intersession 2007

Project 1: Battleboats

Description: Design a game of battleboats (naval battle).

Goal: Elaborate a detailed specification from an unclear problem statement.

Objectives:

  1. Get acquainted with the General Strategy for Algorithmic Problem Solving.
  2. Determine the usefulness of the General Strategy for Algorithmic Problem Solving with respect to this project.
  3. Practice the ability for asking questions to clarify a proposed problem.
  4. Learn to approach the problem solving activity in a methodological way.
  5. Elaborate a general specification from any given problem statement
  6. Find the different components (subproblems) that need to be solved.
Instructions:

By carefully following the three first stages of the General Strategy for Algorithmic Problem Solving, transform the vague description of the problem into a document giving a qualitative and comprehensive explanation of the problem, as well as the concepts involved, tools required, resources, data and results.

Use the questionnaires to guide your thoughts and the flowchart to guide your search. Keep a log of your work: for every stage, jot down comments and answers to the questions that best lead your work. Also record the time/date you start each stage.

Then, answer the following questions:

  1. What non-computational concepts ("theory") were needed to perform this activity?
  2. What assumptions did you have to make to work out the problem?
  3. How many components (modules) did you find in your model?

Hint: Look at http://www.itsyourturn.com/t_helptopic2050.html

Alternatives to this project:

Instead of the battleboats game, you can select to do the project with the games of Doom, SimCity, Monopoly, or Tetris. (Sorry, no hints provided for them.)

Return to the CS106 Homepage