Traits of Failure

This article is the second part of Why the poor performance from last week where I refuted a few of the common causes as to why my students did not do as well as what they should have on their first programming test. So what did go wrong?

I have identified two major contributing factors.

  • Failure to define core concepts
  • Failure to practice

Failure to define core concepts
There are many areas in our lives where we just know how to do stuff. Imagine if you had a colleague that continoully referred to their notes inorder to check email or send a message. What would you think of their computing skills? What if they had to do this on a daily basis?

I know some people have had to jot down notes, however after you've checked your email a few times the process becomes a no-brainer. You don't need your step by step instructions anymore and you just do it. It's the same with programming. There are some things that you just have to know, and when I say that I mean it needs to be a no-brainer just like you were checking your email.

What I have noticed over the years is that many of my students don't take a core concept to the level of no-brainer. Its like completing the task was an accomplishment in itself not realizing that they are really short of where they need to be. As a consequence these students really struggle completing more advanced tasks because the core concepts needed isn't at the level of competency it needs to be at.

Failure to practice
My girlfriend drives an automatic and I drive a manual (stick shift). When I drive my car with my girlfriend as a passenger I explain the concepts of a manual transmission and how to change gears. Sometimes I hold her hand on the gear stick so she can feel what its like to change gears.

Is she ready to take a driving test for a manual license?

Its the same concept with programming and probably anything else you wish to master. You can't do it by watching, at some point you have to get in there and have a go yourself. Sure I make it look straight forward when I do some programming examples. Heck I even make it look easy; but I've had a lot of practice to get there. It is just like me showing my girlfriend how to drive a manual car and then expect her to just be able to do it - during the driving test. It's the same with programming. So why on earth would you watch me code and then think that you're ready to jump in and do a programming test without having any practice beforehand?

Conclusion
You can have engaging students, a decent instructor and a reasonable test but these can all be trumped if you fail to master the core concepts and fail to become proficient through practice. I can stress the importance of these characteristics, but ultimately its up to the student to conquer them.

Comments

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.