Examining failure

I had an interesting experience recently on my personal blog that started me thinking about failure and computing education.  I’m teaching a new class, and I wrote a blog post in which I discussed my preparations for the first lecture and my expectations about the quarter.  Recognizing that teaching a new class inevitably involves setbacks I titled the post ‘Poised for Failure.’  I certainly recognized in advance that this was a dramatic title, but it conveyed both my readiness and my expectation that I would have unsuccessful attempts along the way.  The reaction to my post, and particularly to its title, surprised me a bit.  People admonished me to be more positive, seeing failure as a term that I shouldn’t have used.

The responses led me to think about my attitude toward failure.  While it can be discouraging and disheartening to fail at something, it’s also inevitable.  It is only the most gifted of people who doesn’t experience failure on a regular basis, and those who push themselves experience it more often.  Personally, I see failure as feedback.  It’s a sign that you were doing wasn’t quite right and that you need to try something different.  The only part of failure that reflects on me as a person is my reaction to it.

Since this experience had come about in a work context, I also thought about failure and computing.  It occurred to me that my attitude about failure is particularly helpful in someone who wants to work in a computing-related field.  Problem solving, and the inevitable failure associated with it, is core to computing.  People who are successful in computing are people who handle failure on a regular basis: the program crashes, the network goes down, the algorithm has a problem, the machine dies.  Handling these situations requires a certain acceptance of failure as a natural part of the process.

But my experience teaching has let me see that students don’t tend to develop this attitude about failure until at least midway through their programs.  Students in early classes, typically programming classes, often personalize failure in ways that may not be helpful.  Yes, a student who repeatedly fails at coding probably isn’t going to be a developer, but some amount of failure is part of the process of coding and therefore part of the process of learning to code.  When I teaching CS1/2 I try to convey that failure is natural, as a way of letting the students see that they shouldn’t take their failure personally.  I’m not sure how effective I am at this.

Speaking of effectiveness, all of this led me to consider what the literature has to say about failure and computing education.  In my search I ran across two interesting articles.  In the first, Tony Clear writes about failure in the context of a capstone course, which is a situation on the opposite end of a degree program from CS1/2.  In the second, Klara Benda, Amy Bruckman, and Mark Guzdial examine failure in online courses.  There failure means lack of retention, and I particularly enjoyed their summary of the literature on retention.  It also surprised me how few articles in computing education were displayed in the ACM Digital Library when the keyword failure is provided.  It was a much more common term in the broader computing literature, which is somewhat ironic.

This entry was posted in Amber Settle, Contributors, Opinion and tagged , , , , . Bookmark the permalink.

One Response to Examining failure

  1. Karen Heart says:

    Failure is a harsh but potentially enlightening teacher. Those who can respect their failures and put them into perspective are the ones most able to achieve.

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>