Mini-Projects Development in Computer Science – Students’ Use of Organization Tools 313
defining the project’s goals, the decision regarding problem-predicates, and knowledge representation.
Stages and order of execution: A project can be developed similarly to the six-phase model, following a linear order. An iterative development is also possible by means of backtracking and the stepwise refinement of the different stages. Other kinds of devel- opment processes may include different stages or disregarding some (or most) of the six-phase model stages.
Modularity and stage dependencies: A modular process calls for a clear distinction between the different stages of development, with special attention given to the depen- dencies between them.
A close examination of the above components should enable defining a project devel- opment process as structured or unstructured.
3.1.2. The use of ADTs ADTs may be used at various levels and stages throughout the project’s development. We chose to examine the use of ADTs according to the following parameters:
Abstraction: Adapting suitable ADTs that represent a specific problem. This involves two aspects: (a) Identifying the general problem that represents a specific concrete prob- lem, and (b) Mapping the general problem to the appropriate abstract data type model.
Use of ADT black boxes: Mapping the general problem-predicates to the appropriate ADT interface operations.
3.1.3. The use of practical tools Use of the computer: The computer can be used at various stages of the development process and for different tasks. It can be used as an instrument of trial-and-error, as a word processor to key-in a program that was first formalized on paper, and as a tool for testing and debugging. It is interesting to note that when do students start to use the computer, and do they employ it continuously.
Pencil-and-paper: Another aspect of the process relates to the use of pencil-and-paper in developing the program, specifically how much this method is used, at what stages, and whether the formalization is done first on paper and then on the computer.
3.2. Types of Project-Developing Teams
We found four types of project-developing teams:
3.2.1. Type A Type A includes three teams that used predefined ADT black boxes.
All the teams performed problem analysis and defined their goals at the very begin- ning of the development process. They analyzed their problems at an early stage and distinguished between the general problem and the specific data of the concrete problem. The teams decided on ADTs and chose problem-predicates at the beginning of the devel- opment process. Only then did they begin the formalization in terms of Prolog facts and