Teaching the novice programmer: A study of instructional sequences and perception
Studies show that for many years courses teaching computer programming skills to novices have engendered a dislike for programming in many students. The first phase of this study presented identical content in one of three instructional sequences to 34 college students who were programming novices to determine which produced the greatest development of programming expertise. Learning was measured by performance on a Programming Assessment given immediately after the intervention, and effort and difficulty were self-rated during the instruction. There was no significant difference among the groups in Programming Assessment scores, and overall self-rated effort and difficulty of the instruction did not vary simply by rearranging the order in which the major elements were presented. However, instructional units that covered programming syntax skills and structures were rated by all groups as requiring significantly less effort and difficulty than units covering plans, and participants in all groups scored significantly higher on syntax skills and structures than on plans. The second phase sought evidence that there were differences in perception and the complexity of knowledge in long term memory between novices and experts programmers by comparing the fifteen top performing participants on the Programming Assessment with three programming experts in chunking a short program and in constructing the central solution statement to four programming problems. Experts chunked programs to twice the levels and twice as fast as novices, indicating differences in the mental organization of novices and experts. The implications of these results are discussed.
expertise instructional design learning theory novice learner