Z. Scherz, B. Haberman
rules. All three teams chose the list abstract data type to depict their problems, and used transparently the predefined list black box to formalize problem-predicates.
The formalization of the initially chosen predicates was performed entirely by means of pencil-and-paper, without use of the computer. Two of the three teams completed the entire formalization before starting to work on the computer, whereas the third team per- formed most of the formalization using pencil-and-paper, and continued to formalize additional problem-predicates on the computer.
Only at later stage, about three hours after beginning the workshop, did the teams begin to use the computer, first to type-in and edit the already written facts and rules. All the teams performed run-and-test activities as soon as the whole program was keyed-in the computer. Changes in the formalization of the problem-predicates were made as a result of the debugging process.
Fig. 1 shows that ADTs served as meaningful development tools for Type A teams. They used ADTs throughout most of the development process.
All the teams displayed a structured linear process in developing the project, exactly in accordance with the six-phase model suggested above. All the teams followed the same order in executing the stages of project development, and all made a clear distinction between the different stages.
We can conclude that for type A teams, abstract data types served as a means for or- ganizing the entire development process. The use of list ADT for representing knowledge and the use of predefined list black box for formalization encouraged the development of a systematic structured process.
3.2.2. Type B Type B includes three teams who used ADTs with no predefined black boxes, and tried to construct the suitable black boxes during the project development process.
All the Type B teams analyzed their problems at the beginning of the development process. They started to define their goals immediately as a result of the problem anal- ysis, and two of the three continued to do so as their work progressed. All three teams generalized the problem, distinguishing between the specific and the general problems involved. All of them began their choice of problem-predicates immediately after deter- mining the abstract data type.
The three teams chose suitable abstract data types for the knowledge representation of their problems. However, unlike the Type A teams that opted for the list ADT, the Type B teams selected the tree or graph. One of the teams chose the tree ADT at the beginning of the process, and then decided on a subject that could properly be represented by it.
Since the abstract data type here was not the list (for which a predefined black box file was available), but instead the tree or the graph (for which no such predefined black box file was available), the formalization stage was not trivial for the students, in fact it was also very challenging. The students had to write a program to implement the tree or graph ADT that they had decided to use.
One of the teams performed a mapping between problem-predicates and tree- predicates that could assist them in their formalization. They started by developing a