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.
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.)
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.
To compile and run a project approach and version:
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:
Example: To use the testing shells for Setup1 and TestGenerator1, use the command:
~walker/152/project.s01/use-test-shell Setup1.java TestGenerator1.java
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.
| Class | ||
|---|---|---|
| (Instructor's April 26 Version) | Current Student Version | Instructor's Testing Shell |
| ComparisonChecker1 | ComparisonChecker1 | ComparisonChecker1 |
| GUI1 (Version a) | GUI1 | GUI1 |
| GUI1 (Version b) | GUI1 | GUI1 |
| GUI1b-graphic (Version b) | ||
| InstructorNotifier1 (Version a) | InstructorNotifier1 | |
| InstructorNotifier1 (Version b) | InstructorNotifier1 | InstructorNotifier1.java |
| OutputFormatter1 | OutputFormatter1 | OutputFormatter1 |
| RunSchemeTest1 | ||
| SchemeTesterInterface1 | ||
| Setup1 | Setup1 | Setup1 |
| Terminal1 | Terminal1 | Terminal1 |
| TestGenerator1 | TestGenerator1 | TestGenerator1 |
| proj-testCases1 |
| Class | ||
|---|---|---|
| (Instructor's April 26 Version) | Current Student Version | Instructor's Testing Shell |
| ComparisonChecker2 | ComparisonChecker2 | ComparisonChecker2 |
| OurSinglyLinkedList2 | OurSinglyLinkedList2 | |
| SinglyLinkedListElement2 | SinglyLinkedListElement2 | |
| Coordinator2 | Coordinator2 | Coordinator2 |
| GUI2 | GUI2 | GUI2 |
| GUI2-graphic | ||
| InstructorNotifier2 | InstructorNotifier2 | InstructorNotifier2 |
| OutputFormatter2 | OutputFormatter2 | OutputFormatter2 |
| RunSchemeTest2 | ||
| SchemeTesterInterface2 | ||
| Terminal2 | Terminal2 | Terminal2 |
| TestGenerator2 | TestGenerator2 | TestGenerator2 |
| TestCases2.txt | proj-testCases2 |
This document is available on the World Wide Web as
http://www.cs.grinnell.edu/~walker/courses/152.sp01/project/index.html