It is difficult to introduce both novice and experienced procedural programmers to the anthropomorphic perspective necessary for object-oriented design. We introduce CRC cards, which characterize objects by class name, responsibilities, and collaborators, as a way of giving learners a direct experience of objects. We have found this approach successful in teaching novice programmers the concepts of objects, and in introducing experienced programmers to complicated existing designs.
No takes yet. Share an insight, caveat, or question.
Beck et al. (1989) studied this question.
Synapse has enriched one closely related paper. Consider it for comparative context: