I know… I’m late on this week’s post – technically last week’s post now 🙁 But here’s my learning journal anyways – better late than never 🙂
It’s beginning to get harder and harder to write in this learning journal and say something that I haven’t already said. Most of my challenges and experiences are mostly the same from week to week. Thankfully last week I made a mistake in my discussion post, which gives me something to focus this weeks learning journal on.
The mistake is a reminder to me that one can never truly master the basics – regardless of the discipline you are seeking to master. A guitarist will never have played enough scales, nor will a programmer have reviewed basic concepts from the object-oriented paradigm enough times.
As a self taught programmer I often come up with my own analogies for concepts as I learn about them, and if I don’t go back and review those concepts often enough, my technical explanation may be inaccurate. Such was the case last week in my discussion assignment when I briefly explained polymorphism.
The error was that my explanation used multiple inheritance to describe polymorphism which is not true at all. Polymorphism is the ability to have an object change it’s behavior depending on the messages it is sent.
This brings me back to being overconfident and getting ahead of myself once in a while in these beginner courses. The best I can do is take note of the mistakes I make, and slow down, to correct my understanding.
This is exactly what I’ve done this week. Correct my understanding and interpretation of polymorphism by constructing a simple example using Java. This example became the center piece of my discussion post, which was to explain polymorphism and provide an example in code of how to implement it.
Moving forward I want to try and be more careful when I explain things in the discussion forum. I know it’s not a place where we are supposed to be right or wrong, but provide our current understanding, and are thus rated on the quality of our explanations and not the correctness of them. Despite this, I have a few years of experience coding behind me, and would like to prevent information as accurately as possible. Especially since many classmates have admitted to finding my posts helpful, and save them as references to help them in the future.
Because other students are looking to my posts as alternative resources to supplement the readings in this course, it’s really important that I take the time to make sure all of my points are 100% correct. I hope not to make these mistakes any more, and I also hope to carry the lesson learned forward into my own programming guides and articles. At least online I have the benefit of correcting mistakes, but it’s still important to make as few as possible. Especially if I plan on making an e-book one day.