Studio 6: Symbol Tables

Studio Sessions Overview:

The results of your studio session are to be reported and documented in a file that you save in your workspace. You are to print and turn in one copy of that report for your group. In the descriptions of the studio exercises, verbs like report and document are indications of activities you should summarize and discuss in your report.

In your groups, take turns documenting results, looking over shoulders, and staffing the keyboard.

It is unacceptable to copy anything without understanding it. At any point, the TA or instructor can point to something you've done and ask you why it works, or change it and ask what would happen with the modification.

Setup (10 minutes)

  1. Think of a team name for your group. Try for something not easily guessed by other people.
  2. You must do this studio on CEC equipment in the studio room. Do not use your own equipment or any other machines for this, as timing is important.
  3. Download this zip file.
  4. Install said zip file as usual: as an existing eclipse project from a zip archive file.
  5. Try to build it by running the build.xml file
  6. The run will fail because your symbol table implementation is not complete. So
    1. In the console window, click on the various line numbers reported in the exception trace for the CorrectnessChecks class, so you can get to the test that failed.
    2. Open the Main class in the default package.
    3. Edit the genSymtab method to switch to my implementation, as directed by the comments.
    4. Run the build again, so you can see the kind of output you will expect down the road.
    5. Switch back to your implementation in that file and continue on.

Design and Implementation Problem

You and your team are to design and implement a symbol table that meets the specification as described below. You are welcome to bounce ideas off other teams, and you should consider this problem in two phases
  1. Get an implementation to work. I have a test harness that will exercise your implementation and throw an exception if it does not work.
  2. Try for the most efficient solution you can. There is a contest afoot, and the winning team will receive gift certificates for Ben and Jerry's Ice Cream.


Contest and finishing up

Last modified 08:48:52 CDT 22 March 2008 by Ron K. Cytron