Mini-Projects Development in Computer Science – Students’ Use of Organization Tools 315
black box to represent the tree ADT, copying the formalization of selected tree-predicates from the textbook. This was a relatively short process, and since the team relied on the formalization of tree-predicates in the book, they did not query the program to test the formalization. Once the black box had been constructed, they used it to formalize the problem predicates.
Another team attempted to construct their own black box to represent the tree with- out consulting the textbook. This was a lengthy process, during which the formalized tree-predicates were tested and debugged. Like the previous team, they too used the con- structed black box to formalize problem-predicates.
The third team, which had chosen the graph, utilized it only at the level of graphi- cal illustration to present data. Although they stated explicitly that the suitable abstract data type for their problem was the graph, they did not show any intention of using a black box representing the graph. They made no effort to check if there existed a suit- able, predefined black box, nor did they attempt to construct one. This team formalized problem-predicates by means of Prolog if-then rules, while referring to the graphic de- piction of the abstract data type.
The two teams that constructed a tree black box began their formalization directly on the computer at an early stage of the development process. The team that relied on the graph to depict the relations between the problem-predicates worked on their formaliza- tion at the level of pencil-and-paper, and only later copied their notes into the computer.
The teams did not display uniformity in the way in which they tested the program. The team that had constructed a tree black box on its own, with no use of the textbook, entered queries at the very beginning of the formalization process so as to test the formalization of the tree-predicates. The team that had relied on the textbook to construct the tree black box did not query the formalization of the tree-predicates, but rather periodically tested the problem-predicates as new ones were added. The team that employed the graph at the level of graphic depiction alone performed a run-and-test only after entering the entire program.
Generally speaking, all three Type B teams closely followed the six-stage model in developing their projects. Like the Type A teams, they displayed a systematic structured process. We can conclude that for Type B teams, like those in Type A, ADTs served a means of organizing the development process. Here, however, the lack of a predefined “black box” complicated this process.
3.2.3. Type C Type C included four teams. All the teams defined their goals at the beginning of the process, and one continued to do so during the course of their work. All four teams started to analyze the problem at the very beginning of the workshop. They identified the entities involved in each sub-problem and the relations between them. They generalized the problem, distinguishing between the specific and the general problem involved.
All of the teams chose their problem-predicates by means of a stepwise refinement in the course of formalization, performing a hierarchical mapping of the various predicates. They used illustrations to aid in their mapping.