Archive for July 2, 2010

Raymond Lister on research themes and approaches

Raymond wrote a long comment in response to the blog post on tutors. I will respond in comments here. Given the effort he made at creating this interesting statement, I wanted to promote it to a post.

Mark wrote, “Raymond, do you forego giving students textbooks or other pedagogical tools, because we don’t yet have good human-based pedagogy for computer science?”

I think that’s not quite the right analogy. You are not proposing to *use* existing automated “cognitive tutors”, but to *build* them. So a better analogy would be “Raymond, do you *write* textbooks when you don’t believe you have a good human-based pedagogy for computer programming?” To that question, my answer is, “I haven’t written a textbook for that very reason”.

Another problem with the analogy is that doesn’t distinguish between teaching practice and CSEd research. What I do in my teaching practice is bricolage, which Wikipedia describes as “to make creative and resourceful use of whatever materials are at hand”. (For a more sophisticated description of bricolage, and the difference between bricolage and science, the interested reader might try to read the book by Claude Lévi-Strauss ‘The Savage Mind’ – but I confess I found it to be a very hard read.) In the *practice* of teaching, as part of that bricolage, I do make creative use of whatever materials are at hand, such as bits and pieces out of textbooks, and perhaps bits and pieces from computer-based tools, but it doesn’t follow that my bricolage also defines my research.

[One more thing about this textbook analogy, perhaps just an amusing non sequitur … last time I taught a class, over 90% of the class did NOT even BUY the textbook! Almost all those students passed, and many achieved high grades, so maybe those students know something about textbooks and learning that I don’t know!]

Mark wrote, “When I was in Education grad school …”

Your graduate school experience is clearly the dominant influence on your CSEd research orientation. And why not? You were in the right place for that time. Soloway and his associates did the right sort of research for their time, and they did it about as well as anybody could. But the difference between your CSEd research orientation and my CSEd research orientation is how we each view the Soloway et al. legacy 20+ years later. You see myself and some other CSEd researchers as people who are not sufficiently aware of Soloway et al. ‘s work , and as a consequence we are at best doomed to repeat the Soloway et al. work. For example, in a blog posting some months ago, you characterized the work that I and others did as part of the ITiCSE 2004 Leeds working group as a recapitulation of work in Spohrer’s thesis. My motivation to start that ITiCSE working group was a desire to explore a new philosophical approach to studying the novice programmer, and from that perspective the Leeds working group paper describes research that is fundamentally different from the research in Spohrer’s thesis, and all work in the Soloway tradition.

I can’t prove it, not yet, but my hunch is that Soloway et al. ‘s work was a necessary research program that turned out to be a failure. (I’m using “research program” in the sense that Lakatos used it.) That Soloway et al. ‘s work failed is in no way a criticism of their work at that time. Soloway et al. ‘s work was a research program we had to have before we could move on to better ways of thinking about novice programmers. In my work from 2004 onwards, I’ve been trying to develop a new way of thinking about the novice programmer.

Maybe your view of the Soloway legacy will turn out to be right, and mine wrong. Both of our positions are open to an empirical answer, and only time will tell who is right. (And maybe both of us are wrong.) However, I disagree profoundly when you express implicitly the view that work on cognition in the rationalist/computational tradition (e.g. Soloway and Anderson) is something that is based upon a self-evident truth, the only possible truth. Such a view denies legitimacy to research based in other traditions.

While it is contrary to the traditional university education of a computer scientist to imagine non-rationalist / non-computational ways for describing the mind of the novice programmer, alternative ways of describing human thinking have been articulated outside of computer science. Most of that work traces its roots to the philosophers Merleau-Ponty and Heidegger. I won’t pretend to understand that foundational work by those two philosphers, but I feel I do understand the interpretation of that work, in the context of artificial intellengence / cognitive scence, by Hubert Dreyfus (see his book “What Computers Can’t Do”, subsequently and amusingly republished with the title “What Computers Still Can’t Do”.) There’s also the biologically inspired way of describing human thinking, which has its roots in people like Maturana and Varela. (As I posted earlier, the most accessible read on that work is the book by Winograd and Flores, `Understanding Computers and Cognition’.) My own most recent work is influenced by the bio-psychological work of the neo-Piagetians.

Mark wrote, “I used to work with Chemical Engineers on tools to teach modeling. We built models of these large chemical engineering plants. I’d ask them, “Okay, now what happens as we start the system.” And the answer was, “Really, we don’t know.” Most of Chemical Engineering explains the steady-state. Starting up a refinery or pumping system is a sort of black art …”

If I may borrow and distort your analogy for my own evil ends … Just as chemical engineers don’t attempt to formally model what they don’t understand, I hesistate to build formal models of something that I don’t understand – how novice programmers learn. Also, to run with the chemical analogy some more, the human mind is *never* in a steady-state, and requires a non-traditional way of thinking, a way of thinking pioneered by Nobel Prize winning chemist Ilya Prigogine. His popular science book, “Order Out of Chaos” offers a non-rationalist way of thinking about all non-linear systems, not just chemical systems, and I have found his ideas to be a fertile source of inspiration for my own thinking about novice programmers.

July 2, 2010 at 9:42 am 4 comments

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,185 other subscribers


Recent Posts

Blog Stats

  • 2,060,308 hits
July 2010

CS Teaching Tips