Session 12c2 Learning object-oriented software design at a distance
Ian Douglas Department of Computer Science and Learning Systems Institute Florida State University Tallahassee, FL 323
Abstract - In distance learning it is more difficult to teach skills than facts. This is particularly so for software analysis and design, which is normally performed as a synchronised group activity. Synchronous activity undermines one of the potential benefits of distance learning; the ability to learn at a time and place that is convenient to the learner. A computer-based simulation approach to learning software design skills, from a distance, is described. The approach allows asynchronous practice in object-oriented design using the CRC-card method. The CRC-card method requires groups of designers to role-play the components of an object-oriented design. The approach is intended as a precursor to collaborative design over the Internet. For the course in object-oriented analysis and design, the course team determined that we did not just want to explain the methods of analysis and design, we wanted to give students practical experience of doing them on real problems. We also determined that as part of this course, students should be introduced to the group nature of most modern software development. Many courses offered by the Computer Science departments tend to focus purely on the technology and give students the impression that creating code will be their primary concern of their working life. When students graduate, they discover that most of their time involves attending meetings, talking to customers and making presentations. All of these activities are done as part of groups, rather than individually. In this paper, an approach to group practice is described in respect to one design method (the CRC-Card method). The solution that has been adopted is to use simulation in constrained problem areas to introduce the method, followed by customised Internet-based tools for asynchronous group practice. In addition to considering the group nature of software development there was a desire to make the course delivery constructivist in nature , and to encourage collaborative learning. As stated in Tinzman et al , “collaborative learning affords students enormous advantages not available from more traditional instruction because a group… can accomplish meaningful learning and solve problems better than any individual can alone”. This has been demonstrated in observational studies . There is a possible concern that performing the group collaboration at distance will be inferior compared to oncampus groupings of students. There is some evidence that this is not the case. In a study on the use of computer conferencing in group learning , it was found that although students tended to say less, their discussions showed a significantly deeper critical thinking ratio than face-to-face seminars. This is probably related to the fact that students are better able to think about their responses, being free from the distractions that occur in a face-to-face classroom situation.
As more Universities move to offer courses at a distance there needs to be careful consideration of how to facilitate learning that is centred around skills and group practice, rather than individual knowledge. In distance learning it is more difficult to teach skills than facts. Facts can easily be obtained via the Internet or from printed materials. Skills require some practice, and this practice has to be monitored and corrected by timely feedback. Skills that are conducted as part of a group present further difficulty if there are no scheduled class times for supervised activities. Group activity is difficult to manage at a distance, and any requirement for synchronous activity undermines one of the main benefits of distance learning, the ability to learn at a time and place that is convenient to the learner. This is the problem we faced in designing a distance learning course to teach object-oriented analysis and design, which will commence in the spring of 2000. The course is a part of a large scale distance learning initiative being put in place by Florida State University, . The initiative will put in place a number of programs that that enable anyone with an Associate of Arts (AA) degree or higher to earn an FSU bachelor's degree. The students on the program earn the same course credits and degrees as those students who complete equivalent courses and programs on campus. It is therefore necessary that the learning experience be of equivalent standard to an on-campus course. The standards will be maintained in two ways. First, each student will be under the supervision of a local mentor, who provides learning support and feedback on assessments. Second, a rich and varied set of learning materials will be provided that makes use of the best technology available.
CRC Card Method
The Class-Responsibility-Collaboration (CRC) card method  aims to facilitate thinking about classes in objectoriented software development. In object-oriented
0-7803-5643-8/99/$10.00 ? 1999 IEEE November 10 - 13, 1999 San Juan, Puerto Rico 29th ASEE/IEEE Frontiers in Education Conference 12c2-24
development a primary concern is to identify the classes of objects within a domain and the interactions that occur between those classes. The method allows a group of developers to role-play objects and their interactions, with the aim of developing a good object-oriented model of an application. The method makes use of paper cards like the one illustrated in Figure 1. The cards are 4 inch by 6 inch index cards, on which is recorded the name of the class, any superclass it belongs to, the set of responsibilities it has and the other classes it collaborates with in order to fulfil its responsibilities. Class: Short Paper Responsibilities Display acceptance status Superclass: Conference Paper Collaborations Referee-the method is merely described, or some way to automate it must be found in order to allow practice.
Using a Simulation Approach
Given the need to create some practical experience in CRCCards for distance learning students. It was decided to create a simulation of the method in operation. The purpose of using computer-based simulation of a CRC-Card session is to reduce the requirement for synchronous practice. It also increases the efficiency and value of this activity when it is performed with others. In the simulation, the student takes the role of one of the designers, with the other designers created by computer. The transactions in the design process are monitored, and the student is given feedback on their interactions. The approach does not remove the need for synchronous practice between groups of students, but does prepare them to make the best use of what limited time is available. The simulation serves to teach the students the basics of the interactions that should occur before performing a design exercise with other students. They learn the need to consider the state of the design after each interaction occurs and take the necessary action to improve the design model. In order to be operational, the simulations must work with highly constrained problems. It is important to note that even with significant artificial intelligence and less constrained problems, this system would be a poor substitute for interaction with other designers. As with flight simulation, the simulation is seen as a precursor to the real thing rather than a substitute. The system constructed for this purpose (see figure 2) consists of a pre-existing scenario that has been ordered into cards. The scenario is a simple and constrained problem. The student is assigned the control of several cards; the other cards being assigned to computer controlled designers. The student will then initiate a session by taking one of their cards and selecting a responsibility to be considered. The computer-controlled designer will respond to the requests by highlighting cards that have relevance to the selected responsibility. The student is given choices at the end of each response. They can chose to discard a card, create a new card or amend an existing card. Depending on the response the student will be given feedback as to how appropriate the action is, given the context of the scenario. If it is an inappropriate response, such as creating a new card when modifying an existing card is more appropriate, the student will be informed why. If it is an appropriate response, such as modifying an existing card, they will be given a choice of possible modifications.
Figure 1. Example of a CRC card For example, if we were designing an object-oriented computer system to assist in the management of a conference, we are likely to have a superclass for papers. This superclass may have subclasses for short-papers and long papers. The class of short paper may have a responsibility to indicate the acceptance status of a particular paper. In order to fulfil this responsibility the class may need to communicate with a class representing the paper referees that have the responsibility of determining if a paper is accepted or rejected. A CRC-card session would begin by using the principal actors and objects identified through analysis. These would be written onto the cards and distributed among the group of participants. It is each person’ responsibility to act for the s classes on the cards that they hold. They must update the information held on the card based upon what occurs in the group interaction. A good session will generate conceptual thinking and discussion around the cards. In the course of a session new cards may be created and existing cards will be modified or discarded. Discarded cards are placed in a box as they may sometimes be reinstated into the design thinking. The method facilitates brainstorming around the problem area. It is deliberately meant to be informal and it has been argued that the method should not be automated . In a distance learning course the choice is clear. Either
0-7803-5643-8/99/$10.00 ? 1999 IEEE November 10 - 13, 1999 San Juan, Puerto Rico 29th ASEE/IEEE Frontiers in Education Conference 12c2-25
determined to provide enough information for the completion of a CRC-Card session. In particular, a view of a table top with the participants and cards represented graphically was found by the participants to create a sense of community. Among the other ideas put forward in this work was the use of a token to indicate the locus of control for a session, and the future possibility of using digital audio as part of a session.
Distance learning courses are becoming increasingly popular in many Universities. Solutions are needed to the problem of providing good practical experience for distance learning students who do not have the benefit of attending practical classes. The CRC-card simulator and the subsequent use of Web-based practice is one possible solution to this problem within a course in object-oriented analysis and design. In addition to developing practical solutions, there is also a need for research such as that described in Newman et al , in order to determine how to maintain the quality of the distance student’ learning experience. The next stage in s this current project is to compare the performance of students learning this particular design method at a distance with students in on-campus courses. A final point to consider regarding the general approach described in this paper is that many software development efforts now involve multi-site and multi-national collaboration over the Internet. There has been some research on how this functions . It is therefore likely that collaborative ways of learning software design at a distance will begin to converge with the way many companies actually do software development.
Figure 2. Simulating a CRC card session This system is a lot less flexible than doing real design, but it does get the student thinking about the process of using CRC cards. It also encourages the student to think about when it is appropriate to make changes to a design. When they go onto the next stage of doing designs with fellow students they will know how the sessions should operate and the kinds of things they should consider.
On-line collaboration using CRC-card technique
Having completed the simulation exercise and developed some understanding of the method and how it is practised, it is important that the students then gain practical experience in working with other students on less constrained problems. For this part of the student’ learning they will be s assigned to a small group that works on a design problem. They will conduct a CRC card session over the Internet using a Web-based system. This will have a view of the working space with a similar interface to that of the simulation. However, unlike the stand-alone system with its simulated participants there will be fewer constraints on the problem area or how the design can be changed. Each group of students will have their own Web board. They will have to create cards and post them to the board for others to in the group to see. A CRC-card session will then begin with discussions being carried out asynchronously over a number of evenings. Hand et al  describe investigations into prototypes that provide a basis for developing a tool to support Internet based practice in CRC-Cards. In this work, investigation was initially carried out using text-messaging systems. It was concluded that the use of a graphical user interface was necessary in order to reduce the cognitive load of the users doing this task. Three graphical views of the task were created in Visual basic and an informal evaluation carried out. This was
1. “Supported Distance Learning from Florida State University”. March, 1999. http://connected2.fsu.edu/2+2/ Wilhelmsen, S., ?smul, S., Meistad, ?., “Psychological Theories; A brief survey of the changing views of learning: Constructivism”. July, 1998. http://www.uib.no/People/sinia/CSCL/web_struktur -836.htm Tinzmann, M.B., Jones, T.F., Fennimore, J., Bakker, C., Pierce, J. “What is the Collaborative Classroom”. 1990. http://www.ncrel.org/sdrs/areas/rpl_esys/collab.htm Forman, E.A., Cazden, C.B., “Exploring Vygotskian perspectives in education: The
0-7803-5643-8/99/$10.00 ? 1999 IEEE November 10 - 13, 1999 San Juan, Puerto Rico 29th ASEE/IEEE Frontiers in Education Conference 12c2-26
cognitive value of peer interaction. In J.V. Wertsh (Ed.), Culture,Communication and Cognition: Vygotskian Perspectives. New York: Cambridge University Press. 5. Newman, D. R., Johnson, C, Cochrane C, and Webb, B. “An experiment in group learning technology: evaluating critical thinking in face-toface and computer-supported seminars” http://www.helsinki.fi/science/optek/1996/n1/newm an.htm/contents.html Bellin, D., Simone, S.S., “The CRC card book”. 1997 Addison-Wesley: Reading, Mass. Wilkinson, N.M., “Using CRC Cards”. 1998. Cambridge University Press. Liberty, J., “Beginning Object-Oriented Analysis and design”. 1999. Wrox Press: Birmingham, UK.
10. Hand, C., Lingard, S., Skipper, M., “A collaborative environment for role-playing in object space”. Virtual Reality, Volume 3, Number 1, 1998. 11. Rodden T, Sommerville, I. “Supporting Cooperative Software Engineering”. In , Scirvener, A. (ed), Computer Supported Co-operative Work. Ashgate Publishing, 1994.
0-7803-5643-8/99/$10.00 ? 1999 IEEE November 10 - 13, 1999 San Juan, Puerto Rico 29th ASEE/IEEE Frontiers in Education Conference 12c2-27