Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1094855.1094973acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Improving CRC-card role-play with role-play diagrams

Published: 16 October 2005 Publication History
  • Get Citation Alerts
  • Abstract

    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.

    References

    [1]
    S. K. Andrianoff and D. B. Levine. Role playing in an object-oriented world. In Proceedings SIGCSE'02, pages 121--125, 2002.
    [2]
    K. Beck. CRC: Finding objects the easy way. Object Magazine, 3(4):42--44, 1993.
    [3]
    K. Beck and W. Cunningham. A laboratory for teaching object-oriented thinking. In Proceedings OOPSLA'89, pages 1--6, 1989.
    [4]
    D. Bellin and S. S. Simone. The CRC Card Book. Addison-Wesley, Reading, MA, 1997.
    [5]
    R. Biddle, J. Noble, and E. Tempero. Reflections on CRC cards and OO design. In Proceedings Tools Pacific 2002, pages 201--205, 2002.
    [6]
    G. Booch. Object-Oriented Analysis and Design with Applications, 2nd edition. Addison-Wesley, Reading, MA, 1994.
    [7]
    G. Booch, J. Rumbaugh, and I. Jacobson. The Unified Modeling Language User Guide. Addison-Wesley, Reading, MA, 1999.
    [8]
    J. Börstler. Object-oriented analysis and design through scenario role-play. Technical Report UMINF-04.04, Dept. of Computing Science, Umeå University, Umeå, Sweden, 2004.
    [9]
    J. Börstler, T. Johansson, and M. Nordström. Introducing oo concepts with CRC cards and Bluej-a case study. In Proceedings FIE'02, pages T2G--1--T2G--6, 2002.
    [10]
    M. Clancey. Misconceptions and attitudes that infere with learning to program. In S. Fincher and M. Petre, editors, Computer Science Education Research, pages 85--100. Taylor & Francis, Lisse, The Netherlands, 2004.
    [11]
    J. Coplien. Experience with CRC cards in AT&T. C++ Report, 3(8):1,4--6, 1991.
    [12]
    A. E. Fleury. Programming in Java: Student-constructed rules. In Proceedings SIGCSE'00, pages 197--201, 2000.
    [13]
    M. Fowler. UML Distilled, 3rd edition. Addison-Wesley, Boston, MA, 2004.
    [14]
    K. Go and J. M. Carroll. The blind men and the elephant: Views of scenario-based system design. Interactions, 11(6):44--53, Nov-Dec 2004.
    [15]
    K. A. Gray, M. Guzdial, and S. Rugaber. Extending CRC cards into a complete design process. Technical report, College of Computing, Georgia Institute of Technology, Atlanta, GA, 2002. http://www.cc.gatech.edu/ectropic/papers/.
    [16]
    S. Holland, R. Griffiths, and M. Woodman. Avoiding object misconceptions. In Proceedings SIGCSE'97, pages 131--134, 1997.
    [17]
    L. Hvam, J. Riis, and B. L. Hansen. CRC cards for product modelling. Computers in Industry, 50(1):57--70, Jan 2003.
    [18]
    M. C. Otero and J. J. Dolado. An initial experimental assessment of the dynamic modelling in uml. Empirical Software Engineering, 7(1):27--47, 2002.
    [19]
    A. J. Riel. Object-Oriented Design Heuristics. Addison-Wesley, Reading, MA, 1996.
    [20]
    C. Schulte, J. Magenheim, J. Niere, and W. Schäfer. Thinking in objects and their collaboration: Introducing object-oriented technology. Computer Science Education, 13(4):269--288, 2003.
    [21]
    M. Teif and O. Hazzan. Junior high school students' perceptions of object oriented concepts. In 8th Workshop on Pedagogies and Tools for the Teaching and Learning of Object Oriented Concepts, 2004. http://www.cs.umu.se/~jubo/Meetings/ECOOP04/Submissions/TeifHazzan.pdf.
    [22]
    C. Urquhart. Bridging information requirements and information needs assessment: Do scenarios and vignettes provide a link? Information Research, 6(2):Paper 102, 2001.
    [23]
    D. West. Object Thinking. Microsoft Press, Redmond, WA, 2004.
    [24]
    N. Wilkinson. Using CRC Cards, An Informal Approach to Object-Oriented Development. SIGS, New York, NY, 1995.
    [25]
    N. Wilkinson. The role of informal techniques. Journal of Object-Oriented Programming, 9(6):28--32, 1996.
    [26]
    R. Wirfs-Brock and A. McKean. Object Design--Roles, Responsibilities, and Collaborations. Addison-Wesley, Boston, MA, 2003.
    [27]
    R. Wirfs-Brock, B. Wilkerson, and L. Wiener. Designing Object-Oriented Software. Prentice-Hall, Englewood Cliffs, NJ, 1990.
    [28]
    J. E. Zull. The Art of Changing the Brain. Stylus Publishing, Sterling, VA, 2002.

    Cited By

    View all
    • (2018)How to improve the understanding of roles in modelingProceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3270112.3270131(114-121)Online publication date: 14-Oct-2018
    • (2017)Use of role-play and gamification in a software project course2017 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2017.8190501(1-5)Online publication date: Oct-2017
    • (2016)Leveraging role play to explore software and game development process2016 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2016.7757685(1-5)Online publication date: Oct-2016
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    OOPSLA '05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
    October 2005
    406 pages
    ISBN:1595931937
    DOI:10.1145/1094855
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 16 October 2005

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. introductory programming
    2. scenario role-play

    Qualifiers

    • Article

    Conference

    OOPSLA05
    Sponsor:

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)10
    • Downloads (Last 6 weeks)2

    Other Metrics

    Citations

    Cited By

    View all
    • (2018)How to improve the understanding of roles in modelingProceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3270112.3270131(114-121)Online publication date: 14-Oct-2018
    • (2017)Use of role-play and gamification in a software project course2017 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2017.8190501(1-5)Online publication date: Oct-2017
    • (2016)Leveraging role play to explore software and game development process2016 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2016.7757685(1-5)Online publication date: Oct-2016
    • (2016)Uncovering difficulties in learning for the intermediate programmer2016 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2016.7757446(1-8)Online publication date: Oct-2016
    • (2016)Splat! er, shmup? A postmortem on a capstone production experience2016 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2016.7757399(1-9)Online publication date: Oct-2016
    • (2014)Are smartphones better than CRC cards?Proceedings of the 29th Annual ACM Symposium on Applied Computing10.1145/2554850.2554852(987-994)Online publication date: 24-Mar-2014
    • (2013)Exploring the Educational Benefits of Introducing Aspect-Oriented Programming Into a Programming CourseIEEE Transactions on Education10.1109/TE.2012.220911956:2(217-226)Online publication date: 1-May-2013
    • (2013)Teaching object-orientation with smartphones as digital CRC cards2013 26th International Conference on Software Engineering Education and Training (CSEE&T)10.1109/CSEET.2013.6595240(89-98)Online publication date: May-2013
    • (2012)Teaching software modeling in computing curriculaProceedings of the final reports on Innovation and technology in computer science education 2012 working groups10.1145/2426636.2426640(39-50)Online publication date: 3-Jul-2012
    • (2012)Role-play virtual worlds for teaching object-oriented design: the ViRPlay development experienceSoftware—Practice & Experience10.1002/spe.107142:2(235-253)Online publication date: 1-Feb-2012
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media