View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 1 Vasilios Pantazopoulos

A Laboratory For Teaching Object-Oriented Thinking
By: Kent Beck, Apple Computer, Inc.; Ward Cunningham, Wyatt Software Services, Inc.
October 1989
can be found in ACM
or at http://www.cc.gatech.edu/~vpanta/cs2340/discuss1.pdf

I went with this article because, while it doesn't address OO languages, it discusses instead the viability of teaching OO to students. This speaks more to me then language comparison, because I hope to someday teach Computer Science. It discusses the use of CRC cards to emphasize the importance of objects and how they depend on each other.

The purpose of the essay is to explain how CRC cards can be used to either introduce new programmers to OOD or simply to help procedural programmers get a better grasp on the ideal of OOP. It's almost a psychological study in that it notes the importance of the actual physical cards. People tend to understand the nature of OOD better if they can pick up a card, treat it like it's the object, and therefore follow the order of execution for certain cases. When they have something tangible, it's not a matter of stepping through purely in their mind, but instead they can see it play out before their eyes.

This essay explicitly mentions Smalltalk-80 and how programmers who use the CRC cards as a method of designing end up building not only better, well thought out designs, but also are better in touch with their actual design.

In reading William Blatt's Discussion 1, I see that this method will be hard to apply to all OO languages, as certain ones like Java and C++ are not true OO languages, and thus there might be a small bit of confusion when manipulating the cards.

As a side note, I think that CRC cards are a great way to design, I just wish I'd heard of them for CS2335.

Links to this Page