Compsci 101, Fall 2012, Jotto Assignment
See the
howto pages for details on creating projects,
files, and so on. The pages here describe in broad strokes what this
assignment is about. For details on
how the game is played see playing the game.
Jotto is a word game played with five-letter words similar to the
colored-peg game
Mastermind. The
Jotto Wikipedia page has
information about Jotto and variations on the game including changing
the number of letters and providing different information than the
number of letters-in-common. An example of a score/play sheet from the
original game is shown on the left and a complete page can be found on
the Wikipedia site. For this assignment you'll be writing a computer
program to guess a human player's word. The computer program will be
really hard to beat even when it's using a straightforward, brute force
approach to guessing. It's possible to do more than this brute force
approach, but we won't ask for that in this assignment. An example of
this increased intelligence is described below with a link to an online
version of the game.
Jotto has been given as an assignment irregularly in Duke courses since
1988, but has not been given in Compsci 101 since 2003 until the fall of 2010. A variation of the
game called bagel was one of the original Nifty Assignments
What You Do
You write the module jotto_model.py
so that a game can be
played with either a command-line interface or the GUI
interface. This means you implement required functions in the
module, develop global state in the module to allow the game to be
played, and test your code. Details are in the
howto.
The explanation below describes the game of Jotto and shows this Python
version in action. You must implement the program that plays the
game, details in the howto.
Playing the Game
Details on Playing Jotto.
Submit and Grading
Submit your source code jotto_model.py
and a README.txt
file: information you should include in the
README file is specified in the general assignment page.
You should also include in your README file
any bugs or problems you notice in your program.
Your grade will be based on how well your program runs, on how robust it
is, and on how well-designed the code is in your
jotto_model.py
module.
Submit using the submit name jotto.