Reaction for: OO Programming, by Matt C

To be honest I have little to say about this article. It essentially describes what we are trying to practice now in CS 15. I so far have found that I liked the general approach that we took to teaching the introductory class. I agree with teaching the object-oriented concepts first to avoid students relying on case statements and boolean flags and the like. Even though I sometimes revert back to that line of thinking because it seems easier, I end up realizing the "power of polymorphism" and designing my program in what I think is a better way.

GP is a good tool as it was always more fun to deal with pictures than to deal with text. The one exception might be the data structure assignment, where having the GUI is more trouble than it is worth for what we are trying to teach. It simply makes things more compicated for the student, rather than easing the load. In addition, there were times when things seemed so hidden that it was frustrating to have to work with something that seemed so difficult. The flip-side of this is that in real life programmers have to deal with libraries all the time, and most of them are probably not as well-designed as GP.

Overall I think that CS 15 is a good course, in need of modest tweaking in some areas such as teaching design, but not in need of major revision. As the semester progresses, I may find the need to revise that statement, but not for now.


Reactions


Lucas's Reaction

Do you think that it is more practical, although not as fluffy and friendly for beginners, to teach the AWT in 15 instead of GP? More practical, yes, but now I'm playing Devil's Advocate with myself and thinking of reasons to use GP. Feedback on this would be greatly appreciated, since I'm kind of having my own internal battle over this one.


Danah's Reaction

More importantly, GP is an extremely useful tool because it is intelligently designed for and intended for novices to design and programming. It is easier to use and far more beautiful than AWT (particularly in its original form). In addition, CS15 is not intended to just teach you enough to get by in industry. The goal is to teach you how to think, both from a design point of view and a programming point of view. If you want to learn AWT, learn it when you are done with CS15. It is not that hard.


[BACK]