Upload
ben-lin
View
218
Download
0
Embed Size (px)
Citation preview
8/7/2019 3-learning to program and learning to think
http://slidepdf.com/reader/full/3-learning-to-program-and-learning-to-think 1/6
SPECIALSECTION
LEARNING TO PROGRAM AND LEARNING
TO THINK: WHAT’S THE CONNECTION?
Focusing on thinking skills that are cognitive components of programming-
rather than on intellectual ability-can illuminate the relationship between
learning a programming language and learning more about thinking processes.
RICHARD E. MAYER, JENNIFER L. DYCK, and WILLIAM VILBERG
Many strong claims have been made concerning the
relationship between learning to program and learn-
ing to think. In the process of learning to program
a computer, it is assumed, students will also learn
about their own thinking processes. This premiseunderlies many assertions concerning the usefulness
of teaching computer programming in schools. For
example, Papert [21] claims that, when children are
allowed to write Logo programs, “powerful intellec-
tual skills are developed in the process.” Similarly,
Bork [4] sees “computer programming as a vehicle
for... training. . analytic thinking applicable to
broad classes of problems.” Nickerson [20] argues
that we should view “computer programming
as a vehicle for teaching thinking skills.”
solving in domains beyond the programming lan-
guage that is taught. Linn [13] has suggested three
possible “cognitive accomplishments” from learning
programming in a language such as Basic: (1) learn-
ing the features of the language, such as the state-ments LET, PRINT, and INPUT; (2) learning to solve
programming problems, such as designing programs
in Basic; and (3) learning problem-solving skills ap-
plicable to other formal systems, such as problem
solving in other languages. The third category,
which represents “transfer” of learning to new
domains, is the focus of this a rticle.
Despite these claims, there have been very few
relevant research studies and almost no convincingsupport of this connection [7, 8, 13, 17, 221. This
article presents research on three assertions con-
cerning the relationship between learning to pro-
gram and learning to think, based on a cognitive
analysis of programming [17]. Each assertion is de-
fined, available literature is reviewed, and an empir-
ical study from our laboratory in Santa Barbara, Cal-
ifornia, is summarized to assess the current state of
knowledge concerning the relationship between
learning to program and learning to think.
In order to accomplish this goal, it is necessary to
define what is meant by “learning to program” and“learning to think.” In the context of this article,
learning to program refers to the initial learning of
a novice’s first programming language. In particular,
we focus on changes in people who initially know
nothing about programming and who engage in ap-
proximately lo-50 hours of experience with Basic.
Learning to think refers to improvements in problem
This project was supported by the National Science Foundation under grant
MDR84-70248.
0 1986 ACM OOOl-0782/86/0700- 0605 7%
As a brief historical prelude, it must be pointed
out that the search for methods to teach problem
solving has been an elusive one [14, 181. For exam-
ple, the Latin School movement, which originated in
the 1600s in the United States, was one of the firstlarge-scale attempts to teach “proper habits of
mind.” The curriculum focused on teaching students
to read, write, and speak Latin, as well as teaching
some Greek and geometry [23], the aim being to
build logical and disciplined minds. However, the
practical demands of an emerging industrialized so-
ciety and the negative results of educational re-
search studies eventually helped to bring on the de-
mise of Latin Schools. Thorndike’s classic “transfer
of training” studies also found that learning Latin
did not produce strong transfer to other domains
[26]. Similar failures to produce transfer have beenobserved for modern curricula aimed at teaching
general thinking skills [5,15] and for compensatory
training in general intellectual development [6].
Transfer is even rare when students who have
learned problem-solving strategies within one do-
main are asked to solve formally identical problems
presented within a different domain [5, 181. It is
from this historical context-of strong claims for
transfer coupled with little or no research support-
that we now address each of the three assertions
discussed below.
]uly 1986 Volume 29 Number 7 Commun ications of the ACM
8/7/2019 3-learning to program and learning to think
http://slidepdf.com/reader/full/3-learning-to-program-and-learning-to-think 2/6
Special Section
ASSERTION 1: LEARNING A PROGRAMMING
LANGUAGE WILL ENHANCE A PERSON’S
THINKING SKILLS
Does learning a programming language enhance
thinking skills in domains beyond programming?
Preliminary studies involving Logo have offered
mixed results. Although Papert [Zl] offers case stud-
ies and testimonials, the unreliability of such repor ts
is notorious. In a research study, Pea and Kurland
[ZZ~ failed to find support for the idea that a year of
Logo activities improved children’s strategic plan-
ning skills. Similarly, Gregg [ll] found that four- and
five-year-old children had great difficulty both in
learning to program a turtle and in transferring what
they had learned. Gorman and Bourne [lo] found,
however, that third graders who learned Logo with
one extra hour of computer time per week per-
formed better on tests of logical reasoning than third
graders who learned Logo with just one half hour of
extra computer time per week. Apparently, gains in
thinking skills depend on the student being given
heavy doses of Logo rather than just minimal expo-
sure. The most encouraging study found that first
graders who learned Logo during a ‘12-week course
performed better on tests of creative problem solving
than first graders who were exposed to computer-
assisted instruction (CA]) over the same period [7].
This study involved very few students, however, so
replications are needed.
Preliminary studies involving Basic have also
yielded mixed results. Bayman and Mayer [3] and
Bayman [Z] have found that students who learn
Basic in traditional hands-on, mastery courses oftenharbor serious misconceptions of Basic statements.
Furthermore, students who are able to use Basic cre-
atively in problem solving tend to have fewer mis-
conceptions than students who are unable to solve
problems [2]. Linn [IS] attempted to investigate the
idea that learning Basic would enhance students’
problem-solving skills, but methodological problems
such as students’ difficulty in learning Basic pre-
cluded the study. One promising piece of evidence is
that students who know and use Basic are better
able to comprehend word problems, such as “There
are six times as many students as professors at thisuniversity” [25]. These results suggest that there
may be a connection between programming and
problem solving in other domains.
In order to more closely examine the effects of
novices’ initial learning of Basic on their thinking
skills, we conducted a study using 57 computer-
naive college students who took a course in Basic.
Before taking the course, all students took a battery
of thinking skills pretests; at the end of the term, all
students took versions of the same tests. A compari-
son group, consisting of 54 computer-naive students,
took the same thinking skills pretests at the begin-
ning of the term, and were retested toward the end.
Both groups consisted of nonengineering students
who had no plans to become professional programm ers.
The left column of Table I lists eight thinking
skills tes ts: word problem translation required translat-
ing word problems into equations, word problem solu-
tion involved giving the correct numerical answer
for word problems, following procedures involved pre-
dicting the output for a procedure stated in English,
following directions involved predicting the conse-
quences of following one or more directions, logical
reasoning involved solving a series of oddity prob-
lems, visual ability involved a series of paper folding
tasks, verbal ability involved decoding of verbal mes-
sages, and arithmetic computation involved a series of
addition and division problems. Test-retest reliabil-
ity correlations were computed for each test, yield-
ing a significant correlation at p < 0.001 for each
test. Sample items from each test are shown in the
sidebar.
Some of the tests were designed to evaluate two
skills that are specifically related to learning Basic:
the problem translation skill-as measured by the
word problem translation test and tHe word problem
solution test; and the procedure comprehension
skill-as measured by the following procedures test
and the following directions test. These two skills,
which can be called specific thinking skills or spe-
cific cognitive components of Basic programming,
were identified by carrying out a cognitive task anal-
ysis of Basic programming (171. Other tests were de-
signed to evaluate general intellectual abilities suchas logical reasoning, spatial ability, and verbal abil-
ity. Finally, the arithmetic computation test was in-
cluded to evaluate a thinking skill-making rapid
TABLE I. Eight Thinking Skills: Net Proportion Change after
Learning Basic and Predictive Correlation with Basic Exam Score
Problem translation skill
Word problem translation +0.08 0.55
Word problem solution +0.07” 0.56’Procedure comprehension skill
Following procedures +0.18 0.44’
Following directions +0.04 0.44’
General ability
Logical reasoning -0.01 0.29’
Visual ability -0.05’ 0.31 l
Verbal ability -0.01 0.16
Other skills
Arithmetic computation -0.01 0.26
The asterisk (‘) indicates that gain score for Basic group is significantlydifferent from gain score for comparison group based on a t-test(p < 0.05). or that correlation between pretest score and Basic examscore is significant (p < 0.05).
606 Communica tions of the ACM ]uly 1986 Volume 29 Number 7
8/7/2019 3-learning to program and learning to think
http://slidepdf.com/reader/full/3-learning-to-program-and-learning-to-think 3/6
Special Secfior7
Examples of Items from Eight Cognitive Tests
PROBLEM TRANSLATION
Word Problem Translation Test (6 problems)
A car rental service charges 20 dollars a day and
15 cents a mile to rent a car. Find the expression for
total cost C, in dollars, of renting a car for D days to
travel M miles.
a. C = 20D + 0.15Mb. C = 15D + 0.20M
c. C = 2019 + 15M
d. C = 0.15D + 20M
e. None of the above
Word Problem Solution Test (9 problems)
One day Mrs. Arnold worked 3% hours in the morning,
took a % hour for lunch. and worked 4% hours in the
afternoon. If she began work at 8:30 A.M., at what time
did she finish?
a. 4:30
b. 5:oo
c. 5:30
d. 6:00
e. 6:30
PROCEDURE COMPREHENSION
Following Directions Test (8 problems)
Column
1 2 3 4 5
Row 1 A B C D E
Row 2 B D E A c
Row 3 c E II A B
Row 4 B A C E D
Row 5 A C E B D
Start in the lower left-hand corner. and follow the letters
up Column 1, down Column 2. up Column 3, and so on,
until you reach the upper right-hand corner. What is the
first letter to appear four times?
A B C D E
Following Procedures Test (8 problems)
1. Put5inBoxA.
2. Put 4 in Box 8.
3. Add the number in Box A and the number in Box B.
and put the result in Box C.
ELIL-
computations-that is not closely rela?ed to Basic
programming.
Students in the Basic and comparison groups werematched for pretest score, so that mean scores on
each pretest were identical for the two groups. Gain
scores were computed by subtracting the proportion
correct on the pretest from the proportion correct on
the second test. The first column of numbers in
Table 1 shows the net gain score for each thinking
skill test for the Basic group, determined by sub-
tracting the gain score for the comparison group
from the gain score for the Basic group. As indicated,
the Basic group gained significantly more than the
comparison group on the two specific component
4. Add the number in Box A and the number in Box C.
and put the result in Box A.
5. Write down the numbers from Bojt A, B, and C.
What is the output of this program?
a. 5. 4. 9
b. 14, 4. 9c. 14, 9, 9
d. 9. 4. 9
e. None of the above
GENERAL ABILITIES
Logical Reasoning Test (10 problems)
Draw an X through the set of letters that is different.
BCDE FGHI JKLM PRST VWXY
Spatial Ability (10 problems)
Draw an X through the correct answer.
Verbal Ability (9 problems)
black sheep = dag kip
white dog = tin bud
black cow = dag stam
white sheep =
a. dag kip
b. tin kip
c. stam dag
d. bud tin
e. tin bud
OTHER
Computation (60 problems)
36
20
+ 54
thinking skills : problem translation (as measured by
word problem translation and word problem solu-
tion) and procedure comprehension (as measured byfollowing procedures and following directions). The
results of the word translation test are consistent
with the results of Soloway and his colleagues [25]
in that the learning of Basic programming seems to
be related to improved skill in representation of
word problems. In contrast, the Basic group did not
show significantly greater statistical gains than the
comparison group on tests of genera1 intellectual
ability, including logical reasoning, spatial ability,
and verbal ability. As expected, learning Basic did
not tend to increase students’ computational speeds.
/u/y 7986 Volume 29 Number 7 Communications of the ACM 607
8/7/2019 3-learning to program and learning to think
http://slidepdf.com/reader/full/3-learning-to-program-and-learning-to-think 4/6
Special Section
These results encourage the idea that learning a
programming language-even a language with as
many critics as Basic has-can result in changes in
thinking skills. The improvements appear to be lim-
ited to thinking skills that are specifically tied to
specific concepts underlying Basic, however, and
there is no evidence of any enhancement of intellec-
tual ability in general. The conclusion that can be
drawn concerning this assertion is a modest one:
Under appropriate conditions, learning to program
may result in increases for specifically related think-
ing skills, but there is not strong support for the idea
that it will radically improve general thinking skills.
ASSERTION 2: CERTAIN THINKING SKILLS WILL
ENHANCE THE LEARNING OF PROGRAMMING
The question of what students need to know in or-
der to learn a programming language has motivated
many studies, which find that general measures of
nonverbal intellectual ability such as in the IBM
Programmer Aptitude Test (PAT) or Aptitude As-
sessment Battery Programm ing (AABP) can correlate
with programming test scores in the range of r = 0.3
[l: 8, 9, 12, 191. However, as Webb [27] points out,
“it is unclear which specific abilities included in
these tests relate most strongly to performance.”
It is not particularly surprising or useful to find
that measures of general intelligence are related to
students’ learning of programming, as general intelli-
gence tests are designed to predict success in aca-
demic learning under a wide variety of situations.
The fact that such tests tend to predict success in
initial programming ability simply points to the tests’predictive validity: Success on the test is related to
success in learning to program. A theoretically more
important form of validity is construct validity-that
is, determining the underlying cognitive mechanisms
to explain why performance on a test is related to
success in learning to program. The search for con-
struct validity requires a search for tests that mea-
sure theoretically meaningful thinking skills, such as
specific component processes required for program-
ming in Basic [l’i].
Accordingly, our analysis of whether or not think-
ing skills enhance programming ability is concernedmainly with construct validity (in addition to predic-
tive validity). Another way of stating this focus is to
say that our analysis of this assertion is concerned
with identifying specific thinking skills (in addition
to general thinking skills).
The issue of which specific thinking skills are re-
lated to the learning of programming has been ex-
amined in only a few studies. Snow [24] reports that
succ:ess in learning Basic is more strongly related to
“diagraming” (r = 0.66)-a problem representation
skill specifically related to programming-than to
606 Communications of the ACM
general verbal intellectual ability (r = 0.17). In addi-
tion, tests measuring nonverbal logical reasoning
and mathematics problem solving correlated with
learning Basic (Y = 0.54). Similarly, Webb [27] found
that the best predictor of success in learning Logo
was a mathematics test consisting of word problems
and computation problems (r = 0.81). In addition,
tests of nonverbal logical reasoning correlated
strongly with learning Logo (r = 0.49); spatial ability
correlated with learning Logo in Webb’s study, but
not with learning Basic in Snow’s report.
The picture that emerges from this work is that
success in learning a language such as Basic may
depend on such specific skills as ability to translate a
word problem into an equation or answer (problem
translation), and ability to follow directions listed as
a procedure (procedure comprehension). In fact,
tests based on these specific thinking skills, or cogni-
tive components, provide the basis for construct va-
lidity and may provide even better predictive valid-
ity than traditional measures of general skills, such
as logical reasoning, and spatial and verbal ability.
In order to test these hypotheses concerning pre-
dictive thinking skills for Basic, we conducted a se-
ries of studies that each generated similar results,
but will focus on the study previously described, in
which we administered a battery of tests to 57 col-
lege students before and a fter a course in Basic.
The second column of numbers in Table I (p. 606)
summarizes the correlations between pretest score
and Basic exam score for each pretest. Tests of
the two specific thinking skills and two of the three
general abilities tests tended to predict success inlearning Basic. A subsequent stepwise multiple
regression analysis revealed that tests measuring the
two specific thinking skills were better predictors of
success than tests measuring general ability: word
problem translation, word problem solution, and fol-
lowing directions were selected for the regression
equation. Performance on these three tests ac-
counted for approximately 50 percent of the vari-
ance in Basic exam scores. It is significant that the
mos t highly predictive thinking skills are logically
related to Basic programming (i.e., are specific think-
ing skills or component skills), but not identical toinformation taught in Basic instruction. These re-
sults are consistent with a single study reported by
Snow [N], in which skill at problem representation
was related to learning Basic.
This part of our study demonstrates how it is pos-
sible to pinpoint specific thinking skills that are re-
lated to learning a programming language. As ex-
pected, success in learning Basic was related to gen-
eral intellectual ability, especially logical reasoning
and spatial ability. More importantly, this study
identified two specific thinking skills that are based
]uly 1986 Volume 29 Number 7
8/7/2019 3-learning to program and learning to think
http://slidepdf.com/reader/full/3-learning-to-program-and-learning-to-think 5/6
Special Section
on a cognitive task analysis of Basic [17]: ability to
translate word problems into equations or answers
(problem translation skill), and ability to predict the
outcome of a procedure or set of directions that is
stated in English (procedure comprehension skill).
The search for additional specific thinking skills
represents a potentially fruitful direction for future
research.
ASSERTION 3: PRETRAINING ON CERTAIN
THINKING SKILLS WILL ENHANCE THE
LEARNING OF PROGRAMMING
The first two sections of this article provide empiri-
cal support for the idea that the ability to learn Basic
is predicted in part by two specific thinking skills,
and that an outcome of learning Basic is improve-
ment in these two skills. The next logical step is to
determine if direct instruction in these predictive
thinking skills can foster the learning of Basic.
This issue has not been convincingly addressed in
existing published research. In some of our previouswork [2, 161, we have given pretraining in appropri-
ate mental models for various programming lan-
guages. Pretraining tended to enhance students’ sub-
sequent learning of programming languages, espe-
cially for those who lacked computer programming
aptitude. This line of research only indirectly in-
forms our analysis of this issue, since the pretraining
is not on specific thinking skills.
A preliminary study, conducted in our labs at
Santa Barbara by Jenny Dyck, addresses this issue. In
Dyck’s study, 23 randomly selected college students
(no pretraining group) learned Basic by reading amanual and through exercises in predicting the out-
puts of simple Basic programs. For example, a typi-
cal problem was the following:
Determine the output of this program:
10 LET A = 3
20 LET B = A + 5
30 PRINT B
40 END
If the student gave the right answer, the next pro-
gram was given. If the student made an error, the
correct answer was given, and the student couldrefer to the manual. In all, students solved 100 such
problems.
In contrast, 23 other randomly selected college
students (pretraining group) first received practice in
predicting the output of procedures that were stated
in English (see also the following procedures test
described in the sidebar). For example, a typical
problem was the following:
1. Put the number 3 in Box A.
2. Add 5 to the number in Box A;
put the result in Box B.
3. Write down the number from Box B.
4. Stop working on this.
If the student gave the correct answer, the next
problem was presented. If an error was made, the
correct answer was given, and the student could re-
fer to an English version of the manual. After solving
60 similar problems, students in the pretraining
group were transferred to learning Basic by predict-ing the output of 40 simple Basic programs, as
described above.
The results indicated that the students who were
given pretraining in predicting the output of English
procedures learned Basic much faster than those
with no pretraining. For example, on the first set of
40 Basic problems, the pretrained group averaged
about 6 seconds per answer to predict the output of
Basic programs compared to over 12 seconds per an-
swer for the students who had received no pretrain-
ing. A t-test revealed that this difference was statisti-
cally significant at p < 0.001. When we compared thegroup with no pretraining after 60 Basic problems to
the pretraining group (who received 60 equivalent
English procedure problems), the pretrained group
averaged about 6 seconds per answer to predict the
output of Basic programs, whereas those with no pre-
training averaged about 6.5 seconds. A t-test here
failed to reveal any significant difference between
the groups. The results may be summarized by say-
ing that pretraining in procedure comprehension is
at least as effective as isomorphic pretraining in
Basic. These findings are interesting because they
show that pretraining in procedure comprehension(involving English) provides a foundation for learn-
ing Basic. A straightforward conclusion is that proce-
dure comprehension is a component skill in learning
Basic, and that this skill can be taught to novices.
CONCLUSIONS
Several scholars, including many proponents of
Logo, have asserted that learning to program will
enhance thinking skills in domains outside of pro-
gramming. Anecdotal and personal introspective
data are the two principal sources of evidence. Un-
fortunately, both are notorious for their unreliability
and thus their unsuitability as scientific evidence.Methodologically sound experimental studies in this
area are almost nonexistent. Our study encourages
the idea that learning to program can have positive
effects on thinking skills that are directly related to
the language to be learned. At present, however,
there is no convincing evidence that learning a pro-
gram enhances students’ general intellectual ability,
or that programming is any more successful than
Latin for teaching “proper habits of mind.”
The assertion that certain thinking skills will en-
hance a person’s learning of programming has also
July 1986 Volume 29 Number 7 Communica tions of the ACM 609
8/7/2019 3-learning to program and learning to think
http://slidepdf.com/reader/full/3-learning-to-program-and-learning-to-think 6/6
Special Sectiotl
spawned a line of research that is subject to both
methodological and logical flaws. A common meth-
odological flaw is the “shotgun approach,” in which
many predictor variables are used so that a small
number might reach statistical significance. A com-
mon logical flaw is the “correlation implies causa-
tion fallacy”: If A predicts B, it does not mean that A
causes B. To avoid these problems, we suggested us-ing predictor tests that a re selected on the basis of
construct validity, that is, theoretically related to
learning a particular language. Although prior stud-
ies have often found evidence that general abilities,
such as logical reasoning, are predictive of learning
programming, such research does not explain the
underlying mechanisms of that learning process.
The exemplary predictor study presented in this ar-
ticle demonstrates that it might be possible to iden-
tify specific information processing skills, based on a
cognitive analysis of a programming language, that
serve as predictors of learning programming. Atpresent, problem representation and procedure com-
prehension are two likely specific thinking skills re-
lated to learning Basic; future research should be
directed at lengthening the list.
The issue of pretraining follows from the foregoing
two assertions, Although the concept of “readiness
skills” has received wide acceptance in mathematics
and language ar ts, very little is known concerning
what a person needs to know to successfully learn to
program. At the present time, it appears that pre-
training in procedure comprehension skills transfers
to learning of Basic. Additional research is needed,
however, to determine which other “predic tor skills”
might also serve as “readiness skills.”
Careful empirical research can inform the contro-
versy concerning the teaching of Basic in schools, by
evaluating assertions concerning the relation be-
tween programming and problem solving. The em-
pirical research presented in this article suggests
that there is an important-albeit limited-relation-
ship between a person ’s thinking skills and ability to
learn Basic. These preliminary results suggest that
the most fruitful way to search for a relation be-
tween thinking skills and programming is to focus
on thinking skills that are cognitive components ofprogramming-specific thinking skills that are ele-
ments in a cognitive task analysis of programming-
rather than to focus on general intellectual ability.
4. Bark. A. Leaming w ith Computers. Dig ital Press, Bedford, Mass.. 1961.
5. Bransford. I.D.. Arbitman-Smith. R.. Stein, B.S., and Vye. N.1.Improving thinking and learning skills: An analysis of three
approaches. In Vol. 1. Thinking and Learning Skills , J.W. Segal.
SF. Chipman. and R. Glaser, Eds. Erlbaum, Hillsdale. N.J.. 1965.pp. 133-206.
6. Caruso. D.R.. Taylor, J.J.. and Detterman. D.K. Intelligence researchand intelligent policy. In How and How Much Can Intefligeuce Be
Increased? D.K. Detterman and R.J. Sternberg. Eds. Ablex. Norwood,
NJ.. 1982, pp. 45-65.
7. Clements. D.H., and Cullo. D.F. Effects of computer programming
on young children’s cognition. 1. Educ. Psycho/. 76, 6 (Dec. 1964).1051-1058.
6. Dalbey. 1. . and Linn. M.C. The demands and requirements of com-puter programmin g: A literature review. I, Educ. Compuf. Res. I, 3
(Summer 1985), 253-274.
9. Denelskv. G.Y.. and McKee. M.G. Prediction of comnuter oroaram-1 .I
IO.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
mer training and job performance using the AABP Test. Pers.
Psycho/. 27 (1974). 129-137.
Corman H.. and Bourne. L.E. Learning to think by learning LOGO:
Rule learning in third grade computer programmers. Bull. Psycho-nomic Sot. 21 (1983). 165-167.
Gregg. L.W. Spatial concepts, spatia l names. and the development ofexocentric representations. In Children’s Thinking: What Develops!
R. Siegler. Ed. Erlbaum, Hillsdale. N.J.. 1976, pp. 275-290.
Hollenbeck. G.P., and McNamara, W.J. CUCPAT and programmingaptitude. Pus. Psychol. I8 (1965). 101-106.
Linn, MC. The cognitive consequences of programming instruction
in classrooms. Educ. Res. 74, 5 (May 1985). 14-16. 25-29.
Lochhead. 1. An introduction to cognitive process instructio n. InCognifiue Process Instruction . J. Lochhead and J. Clement, Eds. Frank-
lin Institute Press. Philadelphia , Pa., 1979. pp. l-4.
Mansfield, R.S.. Busse. T.V., and Krepelka, E.J. The effectiveness of
creativity training. Rev. Educ. Res. 48, 3 (Summer 1976). 517-536.
Mayer. R.E. The psycholog y of how novices learn computer pro-
gramming. Conlpul . Sure. 13. 1 (Mar. 1961). 121-141.Mayer. R.E . Learning in complex domains: A cognitive analysis of
computer programming. Psychol. Leanr. Motiv. 19 (1985). 89-130.
Mayer. R.E. The elusive search for teachable aspects of prob-
lem solving. In Hisfoy of Eduratimal Psychology. I. Glover and
R. Ronning. Eds. Academic Press, New York. To be publish ed.
McNamaer. W.J.. and Hughes, J .L. A review of research on the selec-tion of computer programmers. Pers. Psycho/. 14 (1961). 39-51.
Nickerson. R.S. Computer programming as a vehicle for teaching of
thinking skills. Th ird&g 4 (1982). 42-48.
Papert. S. Mindstorm. Basic Books. New York. 1960.
Pea. R.D.. and Kurland. M.K. On the cognitive effects of learning
computer programming. New Ideas in Psychol. 2. 2 (Spring 1965). 137-167.Rippa. S.A. Education in a Free Society: An American History.
Longman. New York. 1960.Snow. R.E. Aptitude processes. In Vol. 1. Aptitude, Learning, and
Insfruction , R.E. Snow. P. Federico. and W.E. Montague. Eds.Erlbaum. Hillsdale. N.]., 1960. pp. 27-63.
Soloway. E.. Lochhead, I.. and Clement, J. Does computer program-
ming enhance problem solving ability? Some positive evidence
on algebra word problems. In Computer Literacy. R.J. Seidel.R.E. Anderson. and B. Hunter, Eds. Academic Press. New York,
1962. pp. 171-185.
Thorndike, E.L. The influence of first-year Latin upon the ability to
read En glish. Sch. Sot. 17 (1923). 165-168.Webb, N.M. Microcomputer learning in small groups: Cognitive re-
quirements and group p rocesses. 1. Educ. Psycho/. 76, 6 (Dec. 1964).1076-1088.
CR Categories and Subject Descriptors: H.1.2 [Models and Princi-
ples]: User/Machine Systems-human factors: K.3.2 [Computers andEducation]: Computer and Information Science Education-informafionsystems educafion
General Terms: Human Factors
Additional Key Words and Phrases: Basic, human-computer interac-
tion, psychology
REFERENCES
1. Bauer, R.. Mehrens. W.A., and Visonhaler, J.R. Predicting perfor-mance in a computer programming course. Edu c. and Psychol. Meas.
28 [1968), 1159-1643.
Authors’ Present Addresses: Richard E. Mayer. Jennifer L. Dyck, and
William Vilberg. Dept. of Psychology, University of California. SantaBarbara, CA 93106: Jennifer L. Dyck, Dept. of Computer Science, Califor-nia State University, Fresno. CA 93740.0109.
2. Bayman, P. Effects of instructiona l procedures on learning a first Permission to copy without fee all or part of this material is grantedprogramming language. Ph.D. dissertation, Dept. of Psychology, provided that the copies are not made or distribute d for direct commer-Univ. of California. Santa Barbara. 1963. cial advantage, the ACM co pyright notice and the title of the publicatio n
3. Bayman, P., and Mayer, R.E. A diagnosis of beginning programmers’ and its date appear. and notice is given that copying is by permission ofmisconceptions of Basic programming statements . Commun. ACM 26, the Association for Computing Machinery. To copy otherwise. or to9 (Sept. 1983). 677-679. republish , requires a fee and/or specific perm ission.
610 Communications of the ACM july 1986 Volume 29 Number 7