While teaching my beginning Java class this morning, I again realized how important it is to learn from students. For a student, transitioning from thinking about procedural programs to developing code using Object-Oriented design is a tremendous paradigm shift. It is not always an easy one. I am always looking for better ways to explain this shift.
In class, the students are learning about inheritance, with a super (parent) class and a sub (child) class. One student was having some difficulties grasping this change, but he asks great questions. Questions are an important part of learning. As a side note, I always tell my students that the only dumb question is the question that is not asked. From my experience, a student will be thinking about that question until it is answered. This hinders understanding what is being discussed in the class. So it is better for my students to ask a question when they have it instead of waiting for an “appropriate” time to ask that question.
On the concept of inheritance, sub classes, and super classes, one student came up with the idea that a sub class is a mutation of the super class, and called it a mutant. This is an interesting concept, in that the subclass can be considered an altered version of the super class. For example, if you think of a rectangle it has two sets of parallel sides, each pair having a specific length. A square is a rectangle with all sides the same length. Most of the functions or methods in the rectangle can be used by the square sub class. The only restriction for the square is that all sides have to be the same length. A square is just a changed or mutated version of a rectangle. Once this student saw this, he better understood the concepts of inheritance, super classes, and sub classes. A sub class is just a mutant of a super class. This is a little different way to think of inheritance, but if it works that is great.
There are sometimes tough questions, to which I do not immediately know the answer. If I can help the student create methods to find the answer, we both learn and benefit. Students will not be in my class forever, so learning the tools to find the answer is important. In helping the students do this, I continue to learn new techniques and facts myself. We all benefit. When you have a question, then A.S.K.
In education, learning is important for all involved. To teach well, I need to learn from my students. This is just as important as my students learning from me.