As an undergraduate student studying philosophy, a powerful idea that fascinated me is the learning I could do just by “thinking about thinking”. How do I come to know? And how do I build on the knowledge I hold? What do these knowledge ‘structures’, as some philosophers call them, look like? What is a belief and how do I test its certainty, if I can ever arrive at certainty at all?
The philosopher / mathematician who engaged with these questions most directly was Descartes, and I spent countless hours trying to understand precisely the project he laid out for himself in his “Meditations on First Philosophy”. Descartes’ project is fascinating, but in no way modest. Using his “method of doubt”, he wanted to reject any belief that could be doubted to even the slightest degree and throw it out until he arrived at a sure and solid foundation on which he can then build all scientific knowledge. Unlike other philosophical texts which can get very abstract, Descartes has a very personal, almost physical way of describing his aim: “I was convinced of the necessity of undertaking once in my life to rid myself of all the opinions I had adopted, and of commencing anew the work of building from the foundation…I will at length apply myself earnestly and freely to the general overthrow of all my former opinions.” (First Meditation) He was reacting to the Aristotelean Scholastics who came before him and who dabbled in some very dubious logic (writing proofs, for example, about angels being the size of the head of a pin). What Descartes wanted was complete and utter certainty. And in the process of establishing that, he undertook a fascinating experiment in which he called his senses, arithmetic, God and the nature of belief into question. By writing about this process in such a personal way, he engages his readers in “thinking about thinking”, inviting them to reflect on their own beliefs and assumptions about the nature of knowing.
Descartes’ Meditations had a significant influence on me not because I thought that his project was successful (I actually think that it’s deeply flawed), but because Descartes is so adamant about “thinking about thinking” and introduces this powerful idea that we can learn a lot about our beliefs and how we see the world by reflecting on how we come to know and what assumptions “knowing” entails.
I was reminded of Descartes when reading Papert, especially when reading “Epistemological Pluralism” by Papert and Sherry Turkle, who “see different approaches to knowledge as styles, each equally valid on its own terms” (Turkle & Papert, 1990, pp 129). They expand on an argument that Papert makes in ‘The Children’s Machine’ and ‘Mindstorms’, describing the computer as a “theoretical vocation: it can make the abstract concrete; it can bring formality down-to-earth”. They more thoroughly investigate learners like Kevin (who Papert only briefly described in one of the chapters we read: “Instructionism versus Constructionism”), and argue that computers can support epistemological pluralism, or different ways of coming to know. Drawing on long-term research on how people enter programming, they describe people who learn to program in the same way that the ‘bricoleur’ scientist or mathematician might form knowledge.
I find the argument convincing and while reading, I spent time reflecting on my own approach to programming and the ways in which “tinkering” with code and getting immediate feedback about which part of my “tinkering” led to either a functioning program or to endless loops, is extremely helpful. Descartes didn’t have the luxury of getting immediate feedback on his thinking. The only feedback he got was the Aristotelean Scholastics tormenting him about the heretical nature and absurdity of his thoughts. So I agree with Turkle and Papert that the computer is incredibly powerful in immediately making the abstract concrete.
What I wish they would have explained more though, is how even a bricoleur has to engage in “thinking about thinking” in order to get her code to work. Even if the tinkerer, or bricoleur, approaches a program stepwise, through trial and error, a certain amount of abstraction is necessarily involved, because if she doesn’t step back at certain points, she will be dabbling in details without ever getting the different parts of code to work in conjunction. I think that Alan Kay might agree with this as well. In “Powerful Ideas Need Love Too”, he writes that “some constructions can be accomplished gradually by trial and error without needing any grand explanations for why things work”, but that all strong thinkers will be able to distinguish when different types of thinking are called for: “stories”, “logical arguments” and “systems dynamics” (pp 2).
I loved reading each of these authors’ reflections about thinking: Descartes’ attempt to establish certainty, Alan Kay’s argument about the importance of being able to discern different ways of thinking and Turkle and Papert’s reaction against a very male-dominated, abstract programming culture that forgets to see the value of different approaches. I myself wonder whether abstraction and tinkering really just lie on a spectrum on which every learner has to move. Perhaps learning necessarily involves both ends of the spectrum and the different styles are really just descriptions about where on the spectrum a particular learner starts.
Talk to any philosopher or mathematician and if she’s completely honest, she’ll tell you that abstraction is only part of what she does. She also has to test her claims against what she knows, dabble in thought experiments, pry apart terms and compare them to her experiences. Often, she has to try out different theories and often use very visual and concrete examples to figure out what they mean. And although I think that a bricoleur might start out on the “tinkering” end of the spectrum, at some point, she abstracts on some level and incorporates certain rules into her thinking in order to get different parts of the program to work jointly. The trick seems to lie in figuring out how different people move on that spectrum. No grand theory can describe how every learner does that. More important, I think, is giving each learner room to experiment and step in ways that feel natural to her but that also help her stretch her mind to learn new, sometimes challenging, but powerful ideas.