Let’s Not Start from Scratch: Some Early Research on ‘Coding’
Last week, I tweeted, “When you’re teaching coding to students, research the cognitive challenges kids & teachers had in 80s & implement from there. #PriorKnowledge”
This has arisen from the frustration that many today are not not aware of the challenges and opportunities that were experienced—and researched!—on the first wave of children programming in schools during the 1980s.
…let’s pick up where we left off…
It’s great to be excited about ‘coding’ these days, but it would be even more exciting if educators were to pick up where we left off. With the background knowledge of the research on programming: the problems, the misconceptions students face, the common (novice) errors, the questions, and so forth—educators could start at a higher point and move forward more efficiently. This would not be too different from gathering background knowledge in any profession—rather than inventing and discovering all from ‘scratch’ (so to speak)!
Don’t get me wrong, I love the discovery approach, but within reason.
I was asked if I had any digital resources on this. So I decided to put a few of the old research pieces together in this post. It is by no means a comprehensive list! It does not address the totality of research from that era—nor the research in more recent years. But, it will give you a taste of our dreams and challenges from that period.
You will also see my old friend, Gavriel Salomon (Gabi) whose work I have frequently referenced in this blog. He left us last year and is sorely missed. (We had some fun at a conference he organized in Israel in 1986. As I was giving a keynote presentation, one of the audience members disagreed with a point I made and spoke out loudly. I was rather taken aback, as my Canadian sensibilities and customs were different. Before I had a chance to respond, Gabi jumped into it, and took up the challenge! I could only giggle.)
Conditions of Learning in Novice Programmers
Vol 2, Issue 1, 1986
Under normal instructional circumstances, some youngsters learn programming in BASIC or LOGO much better than others. Clinical investigations of novice programmers suggest that this happens in part because different students bring different patterns of learning to the programming context.
- disengage from the task whenever trouble occurs,
- neglect to track closely what their programs do by reading back the code as they write it,
- try to repair buggy programs by haphazardly tinkering with the code, or
- have difficulty breaking problems down into parts suitable for separate chunks of code.
Such problems interfere with students making the best of their own learning capabilities: students often invent programming plans that go beyond what they have been taught directly. Instruction designed to foster better learning practices could help students to acquire a repertoire of programming skills, perhaps with spinoffs having to do with “learning to learn.”
The chunking of code, was one challenge I faced with kids in the 80s. They used to write long strings and just add a command, try it, add another, and so on. We ended up calling that ‘spaghetti’ code. We talked about making ‘ravioli’ instead! 😉 Chunk it into meaningful pieces!
The issue of giving up on errors, or bugs, I dealt with playfully. I wanted them to tiptoe back through their thinking. It became something delightful for them to seek bugs. Read how—here.
The Fingertip Effect: How Information-Processing Technology Shapes Thinking
Vol 14, Issue 7, 1985
“Contemporary beliefs about the impact of information-processing technology (IPT) on thinking are examined. Whereas some suggest that learning to program and other contacts with IPT will empower thinking, it is argued from both theory and evidence that typical contacts with IPT today do not meet certain conditions for significantly reshaping thought. Whereas others suggest that IPT will have a narrowing and dehumanizing influence, it is argued that the striking diversification of IPT now underway will eventually allow for many styles of involvement. In the long term, as this diversification spreads to nearly all aspects of society, thinking may change in certain basic ways as it has in response to literacy and print.”
Transfer of Cognitive Skills from Programming: When and How?
Vol 3, Issue 2, 1987
“Investigations of the impact of programming instruction on cognitive skills have yielded occasional positive and many negative findings. To interpret the mixed results, we describe two distinct mechanisms of transfer–“low road” transfer, resulting from extensive practice and automatization, and “high road” transfer, resulting from mindful generalization. High road transfer seems implicated where positive impacts of programming have been found; insufficient practice and little provocation of mindful abstraction are characteristic of investigations not demonstrating transfer. Our discussion affirms that programming instruction can improve cognitive skills under the right conditions, but cautions that implementing such conditions on a wide scale may be difficult and that programming instruction must compete with other means of improving cognitive skills.”
Implications for Deeper Learning
I have written extensively about this issue of transfer—in this context of coding. There are great challenges associated with it. So the questions remain—how do you support it in your classrooms?
The Final Report of the Brookline Logo Project: Part ll
Seymour Papert, Daniel Watt, Andrea diSessa, Sylvia Weir
Research on Logo: A decade of Process
“Depending on the environment in which it is embedded, Logo can constitute a trivial enterprise or a variegated educational experience. We claim that few educational environments have shown as consistent benefits of such a wide scope from the development of academic knowledge and cognitive processes to the facilitation of positive social and emotional climates. Yet, somewhat paradoxically, realizing these multifarious benefits does not imply lack of focus: Integration into one or more subject matter areas maximizes positive effects. A critical factor, however, is a clear and elaborated vision of the goals of Logo experience shared among administrators, curriculum developers, teachers, and students. Such a vision provides a gyroscope that guides the myriad activities of educators: administration, curriculum development, lesson guidance, and moment-by-moment interactions with students.”
So, as Seymour Papert said, “If the role of the computer is so slight that the rest can be kept constant, it will also be too slight for much to come of it.” This from this wonderful 1987 Papert paper called Computer Criticism vs. Technocentric Thinking.
I applaud and welcome the enthusiasm of educators who are implementing programming (coding) with students. My hope for is that we will all take the time to visit, or revisit, some of the significant findings of the past—so that we are better prepared to to move our students to deeper learning.