Teaching
107 F '08
 
Assignments
The Recipes
The Style
The Universe
The World
Subversion
Set 1
Set 2
Set 3
Set 4
Set 5
Set 6
Set 7
Set 8
Set 9
Set 10
Set 11

Problem Set 8

logo

Due date: 11/13


Purpose:

The primary goal of this problem set is to wrap up the first part of the course with the design of one more complete program, a distributed ISL program.

Otherwise the problem set introduces the basics of ProfessorJ class design.


Drill:

HtDC: 2.2, 3.1, 4.6, 5.6, 5.7

Required Problems:

Note: You must use the ProfessorJ Beginner language level for problem 8.2.

  1. Turn your hangman program from problem 6.2 into a distributed system, using the Universe teachpack (see tab on the left). You must be able to play the game using two computers in the end, with one computer providing an human-computer interface for the guessing player and another computer providing the human-computer interface for the player that poses the question. The latter should be completely automated, but the player should be able to observe the progress of the game.

    Design pass-through, a universe server that simply passes message back and forth between the two participating worlds. In other words, if the first world sends a message, the pass-through universe hands it to the second world -- unaltered and otherwise unobserved; conversely, if the second world sends a message, the pass-through universe hands it to the first world.

    Design hangman, a program that consumes a string, registers with the pass-through universe, and inspects the guesses it receives from the other world.

    Design guess, a program which pops up a canvas, registers with the pass-through universe, and administrates the "guessing" player's interactions.

    Here is a scenario from the middle of a game, played on a single computer:

    distributed hangman
    The game was started with (hangman "hello").

    You may assume that the entire program is written by a single pair of programmers, and that the "questioning" player is not cheating. Consider what would change about your program if you dropped this assumption and you had only agreed on the protocol with the creator of the "questioning" program.

  2. Design a class based representation of the Enums in problem 7.1.

last updated on Tue Jun 9 22:21:18 EDT 2009generated with PLT Scheme