Project Index for CSC 152

This semester, CSC 152 students are working on a project to build a program to help CSC 151 students test and submit their Scheme programs. Development work has involved

In fact, the class identified two distinct approaches for solving this problem using object-oriented problem solving.

To support this endeavor, the following materials are available.

Software Installation and Execution Scripts

Since the software results from a collaboration of multiple groups, each working independently, the files for this project are distributed in several accounts. Therefore, several scripts are available to help coordinate, compile, and run the various pieces of software. The basic scripts are:

The first two of these scripts create one or two directories for each project, and then provide relevant links from each directory to the various classes for that project on various developers' accounts. (These scripts replace only links, not actual files, so they should not overwrite or erase files being edited in the new directories.)

The last two scripts compile and run the relevant projects, and each script should be run from the relevant directory: proj1a, proj1b, or proj2.

Installation Directions

  1. Open a terminal window in your account, and move to the directory you use for your CSC 152 project.
  2. From the desired directory, issue the full setup command, given above.

If not previously established, new directories (proj1a/proj1b and proj2) will be created, and these directories will contain appropriate references to the files needed for that approach and version.

Compiling and Running

To compile and run a project approach and version:

  1. Open a terminal window in your account
  2. Use the cd command to move to the relevant project directory, as created above (e.g., proj1a, proj1b, proj2).
  3. For either approach 1 version, issue the command
    ~walker/152/project.s01/run-proj1
    The software should provide instructions about choosing the GUI or Terminal interface.
  4. For approach 2, issue the command
    ~walker/152/project.s01/run-proj2 GUI
    if you want to utilize the GUI interface, and use ~walker/152/project.s01/run-proj2
    if you want to use the Termianl interface.

    Testing Shells

    Testing shells are available for most classes in this project. Each shell contains appropriate constructors and methods for each class, with required parameters. However, each method is a stubb: that is, each method contains just prints the name of the method and the parameters, and then formulates a response, and finishes either by returning the required response or by forwarding that response to the required next object.

    To replace a regular class by a testing shell:

    1. Use the cd command to move to the relevant project directory (e.g., proj1a, proj1b, proj2).
    2. Use the command:

      ~walker/152/project.s01/use-test-shell    <class names go here>

      to replace the specified class files.

    Example: To use the testing shells for Setup1 and TestGenerator1, use the command:

    ~walker/152/project.s01/use-test-shell Setup1.java TestGenerator1.java

    Software Availability

    The following links reflect flow diagrams and software as submitted by Friday, April 27. More recent software should be accessed by running the above installation scripts and viewing the updated classes in the appropriate directory.

    Approach 1

    Approach 2


    This document is available on the World Wide Web as

         http://www.cs.grinnell.edu/~walker/courses/152.sp01/project/index.html
    

    created April 13, 2001
    last revised April 30, 2001
    Henry Walker (walker@cs.grinnell.edu)