Nudging Computing Education

June 21, 2009 at 8:41 pm 5 comments

I’m spending Father’s Day reading. Just finished Terry Pratchett’s Equal Rites (the first appearance of Granny Weatherwax, which I had never read before), and have now just started Nudge: Improving Decisions about Health, Wealth, and Happiness by Thaler and Sunstein.  I’d heard of behavioral economics before, especially in the context of how these ideas are influencing the Obama administration.  I’m recognizing implications for computing education as well.

The basic premise of behavioral economics is that people are bad decision makers, and those decisions are easily biased by factors like the ordering of choices.  Consider the choice between a cupcake and a piece of fruit.  The worse choice there only has consequences much later and the direct feedback (“You gained weight because you chose the cupcake!”) is weak.  Thaler and Sunstein promote libertarian paternalism.  The idea is that we want to offer choices to people, but most people will make bad choices.  Libertarian paternalism suggests that we make the default or easiest choice the one which we (paternalistically) define as the best one — that’s a nudge.  It’s not always easy to decide which is the best choice, and we want to emphasize making choices that people would make for themselves (as best as we can) if they had more time and information.

An obvious implication for computing education is our choice of first programming language.  Alan Kay has pointed out many times that people are sometimes like Lorenz’s ducks, who were convinced that the Lorenz was their parent: people “imprint” on the first choice they see.  Thaler and Sunstein would probably agree that the first language someone learns will be their default choice when facing a new problem. We want to make sure that that’s a good default choice.

How do we choose the first, “best choice” language?  If our students are going to become software engineers, then choosing a language which is the default (most common, most popular) in software engineering would make sense: C++ or Java.  But what if our students are not going to become software engineers?  Then we’ve made their first language harder to learn (because it’s always harder as a novice to learn the tool used by experts), and the students don’t have the vocational aspirations to make the extra effort worthwhile.  That choice might then lead to higher failure/withdrawal rates and students regretting trying computer science.  Hmm, that seems familiar…

Another choice might be to show students a language in which the best thinking about computer science is easiest.  For example, Scheme is a great language for pointing out powerful ideas in computer science.  I believe that Structure and Interpretation of Computer Programming by Abelson and Sussman is the best computer science textbook ever written.  It’s power stems, in part, from its use of Scheme for exemplifying its ideas.

The challenge of using Scheme is that it is not naturally the language of choice for whatever problem comes the student’s way.  Sure, you can write anything in Scheme, but few people do, even people who know Scheme.  Libraries of reusable tools that make it easy to solve common problems tend to appear in the languages that more people are using. If students were well-informed (or are/become informed), would they choose Scheme? If the answer to that question is “No,” the teacher appears coercive and constraining, and the course is perceived as being irrelevant. That’s another familiar story.

The ideas of Nudge have implications for teachers, too. I am on the Commission to design the new Advanced Placement (AP) Computer Science exam in “Computer Science: Principles.”  (This exam is in contrast to the existing Level A CS AP exam in computer science programming in Java.) We just met for the first time this last week.  There will be programming in the new APCS exam, and there’s interest in providing teachers with choices of what language they teach.  Providing infinite choice makes it really hard to write a standardized, national exam.  Teachers will likely be offered a menu of choices.  How will those choices be ordered?  How will teachers make these choices?  While there are some wonderful high school teachers, there are too few high school CS teachers.  The new APCS exam will only be successful if most of the teachers offering it are brand new to computer science.  These teachers need help in making these choices, with reasonable default values, because they simply won’t have the experience yet to make well-informed choices.

Entry filed under: Uncategorized. Tags: , , , , , .

Women Programming, Just Not In CS Computing For Evil! Isn’t Education a “Good”?

5 Comments Add your own

  • 1. Alfred Thompson  |  June 23, 2009 at 4:28 am

    I suspect that the questions most teachers will ask about the new course is “what materials are available to help me?” and “what training can I get?” The languages in the list wil have to have available textbooks and training will have to be provided (some where, some how) for these teachers. Of course I have my own ideas about what languages should be on the list but picking languages to exclude will be political and potentially painful.

    Reply
    • 2. Mark Guzdial  |  June 23, 2009 at 11:56 am

      Completely agreed, Alfred. Materials will have to be provided, and so will training. The College Board’s AP process is long and thorough. I believe it’ll be there when we get there.

      Reply
  • 3. Mike Byrne  |  June 23, 2009 at 5:34 am

    I disagree with your characterization of behavioral economics. The central idea isn’t that people are “bad” decision-makers, it’s that they simply aren’t optimal decision-makers. That’s a big deal in economics since the vast majority of major models and theories in economics essentially assume that people are, in fact, mathematically optimal decision makers. Many of them *still* appear to be surprised to find out we aren’t.

    Of course, psychologists have been telling economists this since at least the 1950s. Now that a collection of economists are finally taking the idea seriously they’ve re-branded it “behavioral economics” and are now running many of the same experiments that psychologists were running 30 years ago, and getting the same results. But it’s OK, because now economists are doing it!

    The fact of the matter is that people, individually, are often pretty good decision makers given the inherent limitations on computation, memory, and information that we are saddled with. Herb Simon, a psychologist who won the Nobel Prize in economics, called this “bounded rationality.” We are generally rational given our boundaries.

    Reply
    • 4. Mark Guzdial  |  June 23, 2009 at 11:55 am

      I agree with your characterization, Mike. People are “bad” decision makers from the perspective of economists who believe that decision making should be optimal. People are perfectly reasonable decision makers from a psychological perspective which recognizes the limitations of human cognitive processing. The authors of “Nudge” are a legal scholar and an economist, so they tend to take the “bad” perspective.

      Reply
  • 5. Andrew Brown  |  September 8, 2009 at 11:50 pm

    On Mark Guzdial’s example of Scheme as a powerful but irrelevant language, my experience teaching scheme for a media computation course would indicate that this tendency is very strong. However, I have also seen that if the power can be shown to outweigh irrelevance than students will stay engaged. The power in our case is provided by the Impromptu media programming environment that somewhat solves the problem of ‘libraries of reusable tools’ that is correctly identified.

    Reply

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed


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

Join 11.4K other subscribers

Feeds

Recent Posts

Blog Stats

  • 2,097,089 hits
June 2009
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
2930  

CS Teaching Tips