My classes involve a lot of frustration.  Things don’t work and students don’t know why.  Sometimes I don’t know why.  I think this is productive, and important.  Just the other day, I was programming something.  A single case wasn’t working.  I tried poking at things in my code.  Still not working.  I asked my husband for help.  He shrugged.  Finally, I threw up my hands, and said, “I give up.”  Only I didn’t.  I deleted almost everything and started over.  I was frustrated because I knew my solution wasn’t elegant and wasn’t accounting for every possible case.  But I soldiered on with my inelegant solution until I got something that worked.  It was ugly, but it worked, in every case.  And then, I looked at other people’s solutions, which were neater and I was in a place where I could learn from them.  I needed to understand one way to solve the problem before I could understand others.

The students that do well in CS aren’t brilliant science or math geniuses.  They are persistent.  They learn from their mistakes.  They hunt for solutions.  They don’t wait for answers to come to them.  And that’s what I am really trying to teach: not loops or functions or recursion.  I’m teaching them to follow through, to keep going even when it seems like the end is far away and they don’t have a map to get there.  The stuff my CS I students are doing have hit the place where they sometimes can’t see the end, where the order they do things matters, where what they learned before is really important.  They have to get past the frustration to understanding.  That is a hard journey.  I hope I’m helping them get there.

2 Replies to “Frustration”

  1. Hello,

    I am a college student commenting on your blog for a class I am taking dealing with philosophy and our digital world.

    I cannot agree with you more on the emphasis on persistence. Because humans are such resilient creatures we are able to fail and try again soon after. Many things in this world would not be around if it wasn’t for the persistences of past innovators. Like you said this is very important particularly with technology. Trial and error are such a big part of bringing new technology into the light. Why else would there be a new, better version of the iphone every 6 months? They are eliminating the bugs and glitches that the past models are experiencing. Making way for the devices that will last longer, and be more effective in everyday life.

    Is there a point that we will start to develop too fast for our own good. Because these companies selling and producing this technology want to make as much money as possible, what will be the stopping point? Is this just how the future will unfold? Will we continue to develop or is there a stopping point?

Comments are closed.