A laboratory for teaching object oriented thinking
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Designing object-oriented software
Designing object-oriented software
CRC: finding objects the easy way
Object Magazine
Object-oriented analysis and design with applications (2nd ed.)
Object-oriented analysis and design with applications (2nd ed.)
Using CRC cards: an informal approach to object-oriented development
Using CRC cards: an informal approach to object-oriented development
The CRC card book
Avoiding object misconceptions
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
The Unified Modeling Language user guide
The Unified Modeling Language user guide
Programming in Java: student-constructed rules
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Object-Oriented Design Heuristics
Object-Oriented Design Heuristics
Role playing in an object-oriented world
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Reflections on CRC cards and OO design
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
An Initial Experimental Assessment of the Dynamic Modelling in UML
Empirical Software Engineering
Object Design: Roles, Responsibilities, and Collaborations
Object Design: Roles, Responsibilities, and Collaborations
CRC cards for product modelling
Computers in Industry
Object Thinking
3-step knowledge transition: a case study on architecture evaluation
Proceedings of the 30th international conference on Software engineering
Role-Play Virtual Environments: Recreational Learning of Software Design
EC-TEL '08 Proceedings of the 3rd European conference on Technology Enhanced Learning: Times of Convergence: Technologies Across Learning Contexts
ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology
Using role-play diagrams to improve scenario role-play
Graph transformations and model-driven engineering
Role-play virtual worlds for teaching object-oriented design: the ViRPlay development experience
Software—Practice & Experience
Pass the ball: game-based learning of software design
ICEC'07 Proceedings of the 6th international conference on Entertainment Computing
Teaching software modeling in computing curricula
Proceedings of the final reports on Innovation and technology in computer science education 2012 working groups
Hi-index | 0.00 |
CRC-cards are a lightweight approach to collaborative object-oriented modeling. They have been adopted by many educators and trainers to teach early object-oriented design. Reports in the literature are generally positive. So is our own experience. However, over the years, we have noticed many subtle problems and issues that have largely gone unnoticed in the literature.In this paper, we discuss the problems and issues we experienced when teaching CRC-cards to novices. Two major sources of problems can be traced back to the CRC-card role-play. One is the usage of CRC-cards as substitutes for actual objects during the scenario role-play and the other the difficulty to document or trace the scenario role-play ``on the fly". We propose a new type of diagram to support the role-play activities and to overcome these problems. Our experience so far is quite positive. Novices have fewer problems with role-play activities when using these diagrams. Teaching and learning the new type of diagram adds only little overhead to the overall CRC-approach.We also provide general guidelines for CRC-card usage. Although our improvements are aimed at novices, we believe that the proposed diagram is useful even for professional software development.