Reaction for: OOP Getting it Right by Adam

This article describes everything that cs15 is meant to be; for the most part, cs15 has lived up to these specifications. However some of the challenges discussed in the article have still not been completely solved.

Java seems to be a better language than OOPas for teaching OO concepts, but it is still not perfect. Java can be slow especially with GP's host of threads.

As the article states, another drawback is the reliance on GP for the foundations of any program. There is still lots of stuff going on that is hidden to the student and mostly unexplained. Greater efforts could definitely be put into removing the mystery from the magic if not the magic itself.

The issue of procedural programmers having to unlearn what they have learned is still alive, but I think that as high schools move over to c++ and java, this will become less of an issue.

The article mentions a textbook: that would be nice.


Reactions


Matt's Reaction

GP is both good and bad. I think it adds a lot to the course, graphics make things interesting. I think that by hiding GP you can frustrate people who already have experience or excel at the class, but you greatly help the new programmers. GP would most likely end up confusing a large part of the class, so keeping it a secret isn't all bad. Perhaps making its magic available to those are interested could be coupled with advanced sections. Any thoughts?


Saul's words

Neat idea matt. Maybe that could be done. Unfortunately, GP is not designed nor coded as well as it should be. That could say that design is important for 15, but once you get into REAL things, it does not matter. And Adam, GP being slow is such a minor issue that it should not be a substantial complaint rather than a preference. For anyone who says that, I ask them to write Tetris in AWT.


Danah's Reaction

Anyone is more than welcome to look at the GP Code and try to figure out how it works. (Either click on the classes in wave or go to the classes directly; most are world readable.) Hopefully, there will be a guide for it next year. (Saul: I saw AWT Tetris. Can we just say "Yech!")


Adam re: Saul
Let me clarify by saying that I think that java and, to a lessser extent, GP are excellent for an intro course to cs in general and OO in specific. However, neither is perfectly suited. I realize that GP allows the student to begin using OO without needing to understand the cogs and gears behind it, and in that regard I think it's better than the standard java libraries. However, GP is neither efficient nor simple.
In sum: java's great for an intro course (no memory management, no true pointers) and GP is better than any of the alternatives which is not to say that it can not be improved upon.


[BACK]