TITLE: Instructor as Consultant AUTHOR: Eugene Wallingford DATE: July 13, 2004 3:38 PM DESC: Do students avoid risk when learning new practices? ----- BODY: I've been reading Gerald Weinberg's classic The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully. I heartily recommend that you read just about everything Weinberg's written, whether you are a software person or not. His books are really about being a better person, whatever you do. In The Secrets of Consulting, Weinberg says that he was often upset with clients for being so reluctant to adopt his advice. But then one of his clients enlightened him about the risk differential between the consultant and the client: Of course, as psychologists like Kahneman and Tversky have shown us, most people will bear opportunity costs in order to avoid risk, even in the face of potentially big payoffs. In this case, the client needs a pretty good reason to choose to implement the consultant's advice. I wonder if this dynamic is at play when students are learning new practices, such as object-oriented design or agile methods? In some ways, the student is in the role of Weinberg's client. If the student is comfortable with how he goes about building software, then he may be averse to change. Adopting a new practice may make his life better -- but it may make it worse! And even if he is not all that happy with how he programs now, he may be happy to maintain the status quo in the face of risk. So the new practice either needs to offer the promise of a *big* payoff or guarantee little risk of failure. And human psychology may get in the way of the student risking a change even in that case. The instructor is, of course, in the role of Weinberg's consultant, but with a twist: if students don't adopt the new practice, the instructor may not even face the loss of his 'contract'! Instructors don't always lose their courses when students don't learn; sometimes they just muddle along, perhaps trying something new next semester. And as a tenured member of our faculty, I face little chance of losing my job, no matter how poorly my students do. Where is the risk? Students may see the instructor as having no stake in the risk of failure. Whether this ideas applies directly to the student-teacher relationship or not, I think that it does explain in some part the history of elementary patterns in computer science education. A few years ago, several colleagues and I began our work on so-called elementary patterns, those patterns that relative beginners need and use when writing programs. After writing some papers, we gave several workshops at conferences like SIGCSE, aimed at helping other faculty reorganize their courses using elementary patterns and write elementary patterns of their own. The reaction we received surprised me at the time. Our workshops received high ratings at each conference, and participants almost always came up to tell us how much they enjoyed the workshops and to encourage us to do more. But almost no one began to write elementary patterns, and almost no one redesigned their courses around the idea. In retrospect, I realize that we were asking them to make a pretty big change in how they did their jobs. They were in the same situation as Weinberg's client above. The trade-off between success and failure had to balanced against the option of doing nothing and being happy with their current courses. In retrospect, I can say that we didn't do a very good job 'selling' the idea of elementary patterns. My good friend Robert Duvall always prodded us to create more and better support materials to ease adoption of our ideas by others, and a few of us are trying to do just that. But I wonder how successful we will be. Maybe a more evolutionary approach would work? What would that look like? -----