|
|
|
 |
ViRPlay3D: The evolution of a Virtual
Environment Based on Active
Learning
to teach Object-Oriented Design Concepts
|
 |
Foundations
|
 |
|
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.
|
|
 |
Role
Play in Classrooms
|
 |
Instead
of accepting the thesis about the usefulness of role-play sessions in
object-oriented teaching described in the literature, we wanted to go
one step beyond. Instead of using them for teaching basic
object-oriented concepts, we proposed their application for learning
more advanced concepts of object-oriented design, like the use of
design patterns. Following the ideas of learning-by-doing
approaches and object-oriented role-play sessions, our proposal helps
students not only to gain insight into the how and the why of design
patterns, but, what is more important, it helps students to learn to
apply them. Following the axiom "Good design comes from experience, and
experience comes from bad design", our students learn to use the GoF
design patterns by means of a collaborative design experience,
identifying pitfalls in existing designs, analysing the potential
alternatives and their advantages and drawbacks, and achieving a better
solution by means of a pattern-directed refactoring. One of the
innovations of the approach is promoting active learning and student
participation during the analysis and comprehension of alternative
designs through role-play sessions: each student performs the role of
an object within the case study in order to better understand the
collaborations among the objects by simulating the execution of a use
case.
We applied this teaching approach in Spring and Fall 2006 in two
editions of a 25-hour seminar on Design Patterns. From the research
point of view, on the one hand, we employed these experiences to
collect the students’ opinion about using role-play sessions in the
classroom and the different tools employed, such as the CRC cards and
the RPDs. On the other hand, we developed an experiment with the aim of
estimating the pedagogical efficiency of our approach and the
importance of participating in the role-play sessions instead of
observing them. More information about the sessions and all the
material employed are available here (in Spanish). Specific figures and
results from the evaluation are described in the paper G. Jiménez-Díaz, M.
Gómez-Albarrán, and P. A. González-Calero, "Teaching GoF Design
Patterns through Refactoring and Role-Play," International Journal of
Engineering Education, vol. 24, iss. 4, pp. 717–728, 2008.
|
|
 |
ViRPlay3D
|
 |
|
In view of
the promising results obtained in the classrooms we started the
development of a Role-Play Virtual Environment (RPVE), a virtual
environment rich in design information where students mimic the
interactions produced in a role-play session in order to
simulate an execution scenario from a case study. ViRPlay3D is
a single-user environment where a user visualizes the message passing
among objects in order to understand the objects’ behavior in a case
study. The user is represented in the RPVE by an avatar that wanders
around the virtual world interacting with other entities in order to
achieve information about the classes, objects and messages passed.
Additionally, the user controls the simulation execution and she can
test her understanding about the simulation configuring the next
message passing and asking for its execution.
VirPlay3D defines our first attempt in order to give a visual metaphor
to the abstract concepts defined in the object-oriented paradigm. The
representation of objects and message passing was solved in an easy
way, using the same metaphors employed in the real world role-play
sessions: the objects that intervene in the role-play session are
represented by anthropomorphical 3D models and the message
passing is represented by throwing a ball. Additionally, the man who
holds theball in the RPVE represents the current active object in the
role-play simulation. We decided to represent the classes with blocks
with a plate containing the class name.
Every entity in the environment that should contain information has an
inventory accessible by the user. Class and object entities contain
information about the class design and the object state, respectively.
Additionally, the ball contains information about the last message
passed.
ViRPlay3D provided users with an avatar to interact with the different
entities in the environment. The user explores the environment
controlling the avatar and looks up the entities’ inventories using the
“Look at” action. The user also controls the role-play execution,
deciding when to execute the next scripted simulation step. Moreover,
the user can undo the simulation and even restart it. The active part
of the user in the role-play session was enhanced in ViRPlay3D
providing the user the opportunity to test her current knowledge. At
any time the user can try to guess the next simulation
step. ViRPlay3D compares this information with the next step
in the role-play script. If it is correct, the message passing is
performed. Otherwise, the environment informs that the configured step
is wrong, and let the user select if she wants to try again or if the
environment executes automatically the message passing reflected in the
role-play script.
Once an
initial prototype of ViRPlay3D was developed the next step
consisted in evaluating the acceptance of this novel roleplay
environment. More concretely, the main goals of this survey were:
- To assess the clarity of the metaphors for
object-oriented concepts and the mechanics defined to transfer the
role-play sessions into the virtual environment.
- To evaluate the usefulness of the design
information contained in the environment.
- To obtain interesting improvements from the
RPVE final-users and to verify if the planned evolution of our first
version fitted with the user expectations.
Most of the
results and comments confirmed that we were in the right direction in
the design of our RPVE. Students and
instructors also gave us some ideas about possible improvements in the
object aspect and the inclusion of additional mechanics
to accelerate the access to the information contained in the world.
They suggested that the user should look at the object that
starts a message passing automatically when a simulation step is
performed. Additionally, they expected that ViRPlay3D
evolved in the same way that we planned: including a free simulation
mode where they could try to find out the correct
sequence of message passing, save it and revise it with an instructor
or other colleagues.
|
|
 |
ViRPlay3D2 |
 |
|
ViRPlay3D2 is
not
only an interactive visualization tool like its predecessor ViRPlay3D
but also a RPVE into a sandbox where the Computer Science students
complete assignments about executing system comprehension and design
tasks. The actions performed by the students are saved into scripts
that can be reproduced later by an instructor inside the environment.
One of the most remarkable enhancements in ViRPlay3D2 is the creation
of two different single-user running modes: scripted-mode and
free-mode. As in the previous version, in the scripted-mode the user
controls when the next step is executed, she can undo the last step or
restart the simulation. Unlike ViRPlay3D, in the new version it is
possible to work in a free-mode with role-play scenarios without a
predefined script. This way, the user is responsible for deciding the
simulation steps and finishing the simulation. The performed simulation
is stored as a script that can be executed later in ViRPlay3D2. The
script generation feature eases the creation of new scripted scenarios:
the instructor employs a free-mode simulation to perform and save the
steps for a scripted role-play session used later by her students. So,
from the instructor point of view, the free-mode could be used as a
simple authoring tool.
 |
 |
The main features concerning
to
ViRPlay3D2 are described in these slides (PPT). These
videos show an
example of the execution of a prototype.
After completing the prototype of ViRPlay3D2 was completed we performed
a new formative evaluation of the RPVE. The aim of this survey was to
compile
information feedback about:
- The improvements about features that already
existed in ViRPlay3D.
- The new features included in ViRPlay3D2
- Future extensions to ViRPlay3D2 in the line of
creating a more collaborative environment.
After analyzing and comparing the results obtained by both RPVE
versions, we can conclude that the new features in
ViRPlay3D2 have positively enhanced the RPVE. Once the new RPVE version
informally evaluated, the next step was to use ViRPlay3D2 in classrooms
and evaluate the impact of this tool in the learning process.
|
|
 |
ViRPlay3D2
in Classrooms
|
 |
We
have employed ViRPlay3D2 in a
blended-learning approach where, apart from classical lectures, the
instructor teaches object-oriented design concepts using the RPVE and
proposes her
students to complete several activities using it. These
activities have been employed to conduct a summative evaluation of
ViPlay3D2 to prove if it can be used effectively in the
classroom. The goals of this new evaluation are:
- Analyzing the impact of introducing a novel
tool in an
object-oriented programming course. To do this, we want to compare
some test results obtained by students who follow a traditional
role-play session with the grades of students who employ
ViRPlay3D2 to perform the same role-play sessions.
- Measuring the impact of the RPVE in the
understanding of the main object-oriented
concepts. To do that, we compare the
results obtained in tests related to three different concepts: class
design, object state and message passing.
- Estimating the learning curve introduced by our
learning environment.
We want to know if the RPVE is as easy to use in
real assignments as the formative evaluation showed. Additionally, we
want to know if the use of the environment deeply
delays the role-play sessions and assignments in comparison with the
traditional tools (printed documentation and pen and
paper assignments).
The analysis of the results has been positive. All the students who
employed the RPVE participated actively in the role-play session and
their test results were in average as good as the students that mixed
the traditional role-play sessions with the use of ViRPlay3D2. The
evolution of the student grades shows that ViRPlay3D2 help the students
to better understand some object oriented
concepts. However, it is worth noting that the RPVE is not as easy to
use as the subjective evaluation results showed. Students have to
overcome a little learning curve in order to effectively work with the
environment.
|
|
 |
ViRPlay3D2
Multiplayer
|
 |
The
next step in the development of our RPVE is
the inclusion and the evaluation of a multi-user running mode in
ViRPlay3D2 in order to provide collaborative learning. We are nowadays
working on the development of this multi-user running mode. Users will
be immersed in the environment inside an object avatar and they
collaboratively complete the execution of a selected scenario. Inside
the environment, each user will be responsible for deciding the
messages that her object should exchange with other objects when it
becomes the active object. Some scenarios contain roles (objects) that
are not interesting to be performed by a user. In this case, their
behaviour will be scripted. This way, when these objects receive a
message they will know how to automatically react, executing the
corresponding simulation step. Additionally, the multi-user mode will
include an instructor role, which can decide about the next execution
step of any active object. This role will be employed when there are
not enough users to complete the scenario roles
that should be performed by human actors. Finally, this running mode
will incorporate communication tools for discussing the message
sequence and reaching agreements in controversial actions, such as
modifying the design, or undoing or restarting the simulation. We will
provide a chat-like interface where a user can broadcast messages to
the other users. Here we show a video of the first prototypes of the
multiplayer mode.
As it happened with the single-user RPVE, our work-in-progress of the
RPVE multi-user version will be accompanied with the corresponding
formative evaluations. The final version will be tested again in a
complete summative evaluation that proves the impact of the
collaborative learning and the proposed RPVE in the learning process of
object-oriented design issues.
|
|
| Last update: August 26, 2009 |
|
|