CSC/ECE 517 Fall 2007/wiki2 5 as: Difference between revisions
No edit summary |
No edit summary |
||
Line 15: | Line 15: | ||
</p><br/> | </p><br/> | ||
The following are the links that can be used to understand what CRC cards are and how they work. | The following are the links that can be used to understand what CRC cards are and how they work. <br/><br/> | ||
http://c2.com/doc/oopsla89/paper.html - “A Laboratory For Teaching Object-Oriented Thinking” paper by Kent Beck and Ward Cunningham | <li>http://c2.com/doc/oopsla89/paper.html - “A Laboratory For Teaching Object-Oriented Thinking” paper by Kent Beck and Ward Cunningham. This link gives a detail explanation why CRC cards were introduced.</li> | ||
http://www.agilemodeling.com/artifacts/crcModel.htm - This link provides description about CRC models and an example to create CRC cards. | <li>http://www.agilemodeling.com/artifacts/crcModel.htm - This link provides description about CRC models and an example to create CRC cards.</li> | ||
http://www.uow.edu.au/~nabg/PwithC/C11.html - gives a detailed description OO development from Analysis to Implementation. | <li>http://www.uow.edu.au/~nabg/PwithC/C11.html - gives a detailed description OO development from Analysis to Implementation.</li> | ||
http://c2.com/doc/crc/draw.html - CRC description of a drawing editor called HotDraw which was written in SmallTalk by Ward Cunningham and Kent Beck. | <li>http://c2.com/doc/crc/draw.html - CRC description of a drawing editor called HotDraw which was written in SmallTalk by Ward Cunningham and Kent Beck.</li><br/> | ||
CRC for O-o languages | |||
Ruby | <h3>CRC for O-o languages</h3><br/> | ||
Java | <i>Ruby - </i><br/> | ||
SmallTalk | <i>Java - </i><br/> | ||
http://www.d.umn.edu/~gshute/ood/accounts/home.html - The CRC model and SmallTalk code for a Bank Account application | <i>SmallTalk - </i><br/> | ||
CRC Exercises | http://www.d.umn.edu/~gshute/ood/accounts/home.html - The CRC model and SmallTalk code for a Bank Account application<br/> | ||
i) Interactive over Web | |||
http://dshaw.com/3x5s/ - Interactive CRC cards that can be edited and saved online during a CRC session. | <h3>CRC Exercises</h3><br/> | ||
i) <i>Interactive over Web</i><br/> | |||
http://dshaw.com/3x5s/ - Interactive CRC cards that can be edited and saved online during a CRC session. <br/> | |||
There are few commercial products like WinTranslator (http://www.excelsoftware.com/wintranslator.html) available for creating CRC cards. | There are few commercial products like WinTranslator (http://www.excelsoftware.com/wintranslator.html) available for creating CRC cards. | ||
ii) For a class of students via in-class exercises | ii) <i>For a class of students via in-class exercises</i><br/> | ||
http://64.233.169.104/search?q=cache:ji81-0SXBcsJ:www.cs.iastate.edu/~cs362/handouts/crc-tutorial.pdf - gives a step by step procedure on how to execute CRC sessions in class. | http://64.233.169.104/search?q=cache:ji81-0SXBcsJ:www.cs.iastate.edu/~cs362/handouts/crc-tutorial.pdf - gives a step by step procedure on how to execute CRC sessions in class.<br/> | ||
iii) Self-Study | iii) <i>Self-Study</i><br/> | ||
http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/crc_b/ - tutorial for self-study | http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/crc_b/ - tutorial for self-study | ||
http://www.cs.gordon.edu/courses/cs211/ATMExample/CRCCards.html - an example of CRC card for ATM application | http://www.cs.gordon.edu/courses/cs211/ATMExample/CRCCards.html - an example of CRC card for ATM application | ||
There are a few books available that gives complete description about CRC cards. | There are a few books available that gives complete description about CRC cards. | ||
The CRC card book (http://www.amazon.com/Card-Book-Addison-Wesley-Object-Technology/dp/product-description/0201895358 ) provides solutions to software design problems using CRC cards. Implementation examples in languages like C++, Java and SmallTalk is also provided. | The CRC card book (http://www.amazon.com/Card-Book-Addison-Wesley-Object-Technology/dp/product-description/0201895358 ) provides solutions to software design problems using CRC cards. Implementation examples in languages like C++, Java and SmallTalk is also provided. |
Revision as of 22:58, 24 October 2007
CRC cards
CRC cards. Hundreds of Web pages cover CRC cards. Which explain them best? Which explain them in the context of specific languages, e.g., Ruby and Java? Which exercises can be used to teach them best, (i) interactively over the Web, (ii) to a class of students, via in-class exercises, (iii) for self-study?
Introduction to CRC
CRC – Class, Responsibility, Collaborators cards were introduced to teach the concepts of Object Oriented Programming to a procedural programmer. The model was proposed by Kent Beck and Ward Cunningham in there paper “A Laboratory for Teaching Object-Oriented Thinking” released in OOPSLA ’89. It is now used to develop object-oriented models. The cards are written based on the system requirements which define the behavior of the system. This model contains a set of index cards which is divided into three sections –
The following are the links that can be used to understand what CRC cards are and how they work.
CRC for O-o languages
Ruby -
Java -
SmallTalk -
http://www.d.umn.edu/~gshute/ood/accounts/home.html - The CRC model and SmallTalk code for a Bank Account application
CRC Exercises
i) Interactive over Web
http://dshaw.com/3x5s/ - Interactive CRC cards that can be edited and saved online during a CRC session.
There are few commercial products like WinTranslator (http://www.excelsoftware.com/wintranslator.html) available for creating CRC cards.
ii) For a class of students via in-class exercises
http://64.233.169.104/search?q=cache:ji81-0SXBcsJ:www.cs.iastate.edu/~cs362/handouts/crc-tutorial.pdf - gives a step by step procedure on how to execute CRC sessions in class.
iii) Self-Study
http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/crc_b/ - tutorial for self-study
http://www.cs.gordon.edu/courses/cs211/ATMExample/CRCCards.html - an example of CRC card for ATM application
There are a few books available that gives complete description about CRC cards.
The CRC card book (http://www.amazon.com/Card-Book-Addison-Wesley-Object-Technology/dp/product-description/0201895358 ) provides solutions to software design problems using CRC cards. Implementation examples in languages like C++, Java and SmallTalk is also provided.