Reaction for: Old Dogs, New Tricks, by Saul

The conclusion that older students can learn OOP is an important notion, but I am concerned that the data represented is not a very good indicator of older students learning the material. It appears that everyone did very well on each of the three exams, with about a 90% average in the class. With a mean of 90% percent along age groups and all the students, I find it difficult to make any assertions about learning curves for different groups of students. Perhaps the material tested was not difficult enough and therefore everyone performed well on the exam. If the exams are not difficult enough to challenge the students, then the understanding of teh students is not accurately reflected by the exam results. I cite the 1997 cs16 midterm exam. The average was 36 out of 40, but the questions asked did not delve nearly as deep as the regular homeworks or the programs of the course into the level of students' understanding.

But this does not mean that the assertions made by the author are not correct. I believe that even older people could easily pick up OOP because of the way that it models aspects of reality: objects really do exist in our world. Instead of looking at the test results from 3 exams, I would have liked to have seen better validation for the assertions made. Perhaps showing us labwork or other indicators of understanding besides just test results would have helped make the assertion. All told, I was not convinced that older students are capable of learning OOP on the same level because the data is sketchy at best.


Reactions


Matt's reaction

I think this paper makes an important assumption: it is testing how well old people, the majority of which have a background in procedural programming, can learn OOP. The way OOP models things is very natural, to someone who has never programmed before, it makes a lot of sense. To someone, however, that has programmed procedurally before, the elegance of modeling is lost because they first envision solving the problem with procedures. The article should have focused more on the challenges faced when converting from procedural to OOP.


Jon's Reaction

I'm not sure where to put this commentary, so I'll just choose here. When people say that OOP is better, because it models the "real world" better, and is therefore more intuitive, I'm not sure I agree. This seems to imply that procedural programming does not model real life, but I believe it does in a different way. If you consider a program to be something that exists to fulfill a task, you can think of the program in terms of task decompisition. A program will take one action, then another, then calculate something, then output the information, etc. Whereas in an object-oriented paradigm, you envision your program as a group of entities intercommunicating in order to get the job done. I think they are two different ways to approach a problem, but I do not necessarily one approach "better" or "more intuitive" than the other. For example, many things you come up with in object-oriented programming have nothing to do with "real life" objects, such as proxies, factories, or board weights. (Tangent mode off.)


Andrew Schulak

I think Saul brings up a good point about the tests not being good indicators in and of themselves. Tests do differ, depending on the instuctor, in difficulty and depth of understanding. However, as we are quick to degrade these instructors let us remind ourselves that they are in fact educators who presumably have skill in their field. And that this skill would be reflected in the kind of test they would create for their students.