The Cache Flush Episode 010: Making Errors, Making Sense, Making Use

The Cache Flush
The Cache Flush
The Cache Flush Episode 010: Making Errors, Making Sense, Making Use

A semi-reboot of the show. I’ll be reading selections from my “software humanities” library – books and papers at the intersection of code and history, psychology, politics, ethics, ecology, and systems thinking.


This is The Cache Flush, a programmer’s audio scrapbook. This is episode 10, recorded April 26th, 2023. I am your host, Avdi Grimm, and this episode represents a semi reboot of the podcast.

Up till now, it’s been a collection of random musings, but I think I’m gonna change up the format. See, I have this collection of books and papers, which fall under the loose categorization of software humanities.

They’re texts at the intersection of programming and ethics and psychology and politics and systems thinking, and just all the wider systems that software is part of. And since I haven’t really been able to stick to the previous format of random musings and commentary, I thought that instead I would use this podcast to present selections from these texts without commentary.

Because a lot of these books, I think they’re important. They deserve wider recognition and also, I need an excuse and a nudge to keep reading them.

So without further ado, today’s selection is by John M. Carroll. It’s from a paper called Making Errors, making Sense. Making Use. This paper is one of many collected in the book software Development and reality construction, which itself is the proceedings of a conference by the same name from back in 1988.

We find that users are always fundamentally motivated to get something done. Both the organizational context for learning new software and the internalized standards that adult learners have for determining what is worth spending time on bias users against a learning for the sake of learning attitude.

New users want to get started fast. They like to jump the gun executing a procedure when it is merely mentioned in an overview. They like to skip around on their own in a training sequence, people want to learn by doing to reason things out instead of merely reading about them, they resent rigidly structured exercises that often compel them to copy text character for character, and then subject them to insincere praise for these forced accomplishments.

They like to test hypotheses that they generate on the fly and to make use of their prior knowledge and reason by analogy. This active orientation to learning often badly misfits training designs, which are predicated on instructional models that begin with a logical analysis of what needs to be learned, and then successively decompose each learning objective into a step-by-step sequence of preview, practice, test, and review.

We have considered five characteristic user errors, but we can turn the tables a bit on these five and see them also as indicators of specific human propensities in learning and reasoning. Viewed in this way, the characteristic problems become evidence of a powerful learning strategy. Instead of merely seeing these problems as reflecting deficiencies in systematic instruction, we can ask what they can tell us about human learners that we might use to develop more effective approaches to the design of instruction.

The five characteristic problems correspond to five components of a powerful learning strategy, one that covers most cases of human learning quite well. One. People learn by doing. They try to act in order to learn. Two people learn by thinking and reasoning. They generate and test hypotheses in order to learn.

Three, people seek to work in a meaningful context and toward meaningful goals. Four, people rely on their prior knowledge when they try to manage and assimilate new experience. And five people use error diagnosis and recovery episodes as a means of exploring the boundaries of what they know.

There is a simple, albeit paradoxical way to summarize these points. Just the things that make people good learners, for example, a desire to make sense and to accomplish meaningful work also create the learning problems that ruin systematic instruction. People need to make sense in order to learn, but they need to learn in order to make sense.

The challenge of designing usable instructional systems is to allow people to make sense of their own learning activity and thereby to refine what they already know and discover new things as well. These findings called for a new approach to online training, one that seeks to provide an exploratory environment for the new user, an environment that affords active involvement in the learning process, one that encourages initiative and hypothesis testing.

A major consideration in this approach is user error. Error is a major consideration for any training model, but the standard rote practice model typically just ignores the problem printing steps in bold face and imploring learners to be careful.

From an active learning perspective, the problem is completely different. Errors are expected. They are unavoidable. They are opportunities to learn. If learners are going to take initiative in directing their own learning, they are going to make errors. The problem for designers of training is to manage the consequences of errors so that the greatest possible learning benefit obtains

so again, that was John M. Carroll with the essay, making Errors, making Sense, making use from the book, software Development and Reality Construction.

And this has been the cash flush for today. If you enjoy this show, you can support it by getting a membership at Where you can get two weeks free trial by using the coupon code, CACHEFLUSH, all caps, all one word, or by pitching in to my Patreon Grimm.

Thanks for listening. Have a great day. And don’t forget to flush.

Leave a Reply

Your email address will not be published. Required fields are marked *