Reaction for: "Object Oriented Software Development: Analysis and Design" by Jon

When I read this, I felt like I was reading over a transcript of The Real World VII: Computer Science. However, it did have some interesting ideas.

First, there are the CRC Cards. Personally, I have never used these, but it seems like it would be a useful tool, especially to those people new to design. The cards are small, easy to use, and even look very similar to the class boxes in Rumbaugh diagrams. It would be easy to lay them out on a table and move them around, and come up with object relations for them. I'm not sure if it is more useful in a group design like this, or an individual design. Perhaps if cs15 were to implement a lab on design, something like this could be useful.

I also think the group design aspect of this is interesting. Having many people work on the design for one program is definitely an interesting process (take CS32 if you want to discover this first-hand.) One thing that I noticed in particular is the group dynamic of people who obviously had different levels of experience with computer science. This is something that is especially important for an intro class, like this professor's class, or CS15. Is it better to put people with like levels of experience together, or have a heterogeneous group? Ideally, a heterogeneous group would allow the people with more experience to help the people without as much, and assist them in understanding the material. However, you also run the risk of having show-offs, and people who have no patience for others in the group with less expertise. I'm not sure what the solution to that one is.

Another thing that was interesting was the "Object Expert" in the group. I found it quite amusing when the group was "dismayed" that it did not find one object, and Chelsea "comforted" them. It sounded very touching. Anyway, the objet expert seems to be very akin to a TA. But that brings up another question. Should the role of the expert to be to steer the students towards a good design, pointing out good ideas and bad ideas? Or should the expert sit back and allow the students to work on their own for the most part, following bad designs if that is what they want? It seems that ideally, the expert would follow a middle-ground, and jump in if need be, but otherwise stay in the background.

So, I think an exercise like this could be very successful, or a complete flop, based on many variables. The people involved, how it's presented, what the expert does, and what type of problem is trying to be solved all factor into it. But I think it has a lot of potential, especially for people who learn well through group interaction.


Reactions


Andrew: The Expert Object Inspector

I think one way to approach being the object expert is to ask probing questions that may hint at new underlying ways to go through the design that may be better but to not necessarily steer them toward it if they do not make that decision. One thing that happened in my group was that I asked them what would happen if we added new types of transactions which could be done besides withdrawing and depositing. How would we be able to handle that with our Transaction class? Without probing them any further they came up with subclassing off of that class. Which made me feel great and excited. however if they had solved it in another fashion I think I should have been prepared to let them take it through and see whether or not it worked. Kind of like an interactive YODA, or a iYODA.


[BACK]