|ViRPlay3D: The evolution of a Virtual Environment Based on Active Learning to teach Object-Oriented Design Concepts|
Our experience teaching courses on object-oriented design, in general, and object-oriented design patterns, in particular, for several years shows that a teaching style based only on lecturing does not fit every type of student. Additionally, the guidelines of the Bologna Declaration on the European Space for Higher Education propose a pedagogical shift from “instructor-focused” teaching to “student-focused” learning, where the learner becomes an active part of the learning process. Active learning approaches are also validated through studies that show how experiential learning increases the student comprehension of the taught subject.
Role play is a kind of active learning where participants learn complex concepts –hard to understand by means of abstract explanations– while they simulate a scenario. In this scenario each participant plays a predefined role. When applied to the object-oriented design field, each actor in the role-play session plays the role of an object. The participants enact how a software application works in a hypothetical but concrete situation of system usage, i.e. an execution scenario.
When employing the role-play sessions in object-oriented design, the roles are commonly represented by CRC cards, a technique widely used in responsibility-driven design. A CRC card represents a Class and it contains information about the class Responsibilities and Collaborators. CRC cards provide a valuable support for discussing and evaluating an object-oriented design in a collaborative way. After creating the responsibilities of each class solely, designers can make use of the corresponding CRC cards when simulating how classes interact to achieve a certain functional requirement.
It is worth highlighting the existence of several proposals about the use of role-play in object-oriented teaching. These works describe the use of role-play sessions to teach about object-oriented basic aspects: what an object is and how it interacts with other objects in order to complete a responsibility. They propose the use of case studies –complete software applications that include information about their development and questions to engage students to analyze, judge and evaluate their design– as the foundations of the different role-play sessions. We consider that the main drawback of these proposals is the lack of students’ freedom to choose the message passed to another student during the role-play sessions. We believe in the importance of giving the student the opportunity to reflect on the different alternatives, select the next message passing and even make mistakes during the role-play simulations.
Nowadays, we successfully apply an experience-based teaching approach in our object-oriented design courses. This approach actively involves the students, who collaborate in, both, the comprehension and development of designs. CRC cards and role-play sessions, frequently used in software design processes in industry, are the active learning techniques that support our teaching approach. CRC cards help to discuss and evaluate an object-oriented design collaboratively. CRC cards help to discuss and evaluate an object-oriented design collaboratively. CRC cards help to discuss and evaluate an object-oriented design collaboratively. After creating the responsibilities of each class solely, designers can evaluate how classes interact simulating the execution of a use case. This simulation forces participants to reason about the proposed design solution and to verify if they can reach a better one. Role-play activities are employed to simulate the scenarios using CRC cards. During the role play, participants interact among them, learning from themselves, the other participants and the played roles.
We think that role-play can be seen as a simulation game where the students perform a play based on the execution of a software application. The use of computers games to teach can also be traced back to the first applications of computers in education, and a number of systems have been developed under the generic label of edutainment applications, trying to entertain and educate at the same time.
These two ideas –the role-play as a simulation game and the use of edutainment applications to teach– motivated us to develop ViRPlay3D2, a role-play virtual environment that translates the activities in the real world role-play sessions into actions in a 3D virtual world where objects are represented through avatars controlled by the players. The transfer of the role-play activities into ViRPlay3D2 has been conceived as a methodical development process that not only includes implementation but also formative and summative evaluations in order to verify the progress of the pedagogical tool developed.