Psychological Aspects of Problem Solving with the Help of Computer Languages.

Abstract In CAI the process of writing a program is sometimes used as a means for learning how to solve certain types of problems. Inspired by research of Sime, Green and Guest, we studied the feasibility of different controlstructures in programming languages (GOTO vs IF THEN ELSE) in the process of learning to construct algorithms. In the same study we investigated the effects of cognitive style on the learning process. Students were taught a simple programming language, of the type used by Sime et al. in their “hungry hare” experiments. One group used a syntax comprising a nesting device. The other group used a conditional of the type GOTO. We found support for the conclusions of Sime et al. that NEST seems to have superior properties compared with GOTO, in that it is less difficult to learn and will lead to correct programs more easily. On the other hand, problems for which the solution is of a non-hierarchical structure are complicated by NEST-constraints. So are problems of a hierarchical nature with a depth of more than three levels of embedding. We suggest that depth of embedding should be minimized by introducing logical connectives, or by allowing tests for more than two possibilities at the same time, for instance with the help of a CASE-statement. Apart from that, holistic cognitive style facilitates the learning process, as does a mathematical background. Serialists turn out to have special problems in developing an abstract algorithm, probably because they need the semantics of an available frame of reference to elucidate its structure.