Computer Science Symposia
Computer Science & Information Technology Symposium 2003
Session Presentations
Role Playing and the APCS Java Marine Biology Simulation
by David Levine
Starting in 2004, the Advanced Placement Computer Science curriculum
will
require that students learn about a new case study, the Java Marine
Biology
Simulation. This session will discuss how scripted role-playing can be
used
to introduce students to object-oriented programs in general and the
Java MBS
in particular.
This session featured a high degree of audience participation.
Various members
of the audience were asked to play the role of students as two
different role
playing exercises were demonstrated. The first was a short exercise
that can
be done on the first day of class (and repeated periodically
thereafter.) The
second was a scripted role play exercise that demonstrates the
software architecture
(and in particular, the intercommunicating components) of the Java
Marine Biology
Simulation. In addition to the actual "performances", there
was a
discussion of the pedagogy surrounding such exercises.
Commentary:
David Levine jumped right in and had teachers acting out the methods
of the
MBS. By doing so, the entire group came to understand the fairly
complex interaction
between all of the MBS classes. Not only did this process provide an
overall
understanding of inheritance and polymorphism, David's presentation
showed how
the MBS could be used to set up great future discussions with
students.
Role Playing In an Object-Oriented World
This page contains various resources related to
the use
of scripted role playing in the classroom. At St. Bonaventure
University,
we have found that the use of scripted role playing can help students
understand
various aspects of software design. In particular, it can help
with them
understand:
- the formal nature of function calls and/or method
invocation
- the wide ranging interactions in a large object-oriented
software
system
- the ideas of inheritance and run-time type inference
This page contains links to several scripts that we use in our courses and
in our workshops for high school teachers http://web.sbu.edu/cs/summer_workshops/workshops.html
(This link no longer available). There are also links to "overview"
documents that discuss ideas about how to make the most effective use of the
scripts. We strongly believe that it is necessary to plan their use carefully
and to review the experience afterwards; the overview documents help with this.
Feel free to borrow any of these materials. If you have comments on them,
or if you make improvements, we'd love to know.
At the bottom of the page, we have also included links to other pages
featuring
scripted role play exercises. If you know of others, email us at
dlevine@cs.sbu.edu
and we'll post them as well.
"First Day" Role Play
Scripted role playing can be used as early as the
first
day of class. Our first exercise concentrates more on the
interaction
of various software entities than it does on a particular
program. This
version concentrates on the idea of interprocess communication, i.e.
method
invocation. There is no single master script in this set-up -
suggestions
are made in the overview document about how the instructor should
"direct"
the exercise.
"First
Day" Role Play (PDF, 84 KB, PDF Instructions)
"First
Day" Role Play Overview (PDF, 73 KB, PDF Instructions)
Joe Bergin of Pace University has refined this
idea a bit
further (his examples include some inheritance ideas); read about
theme at http://wol.pace.edu/~bergin/Java/RolePlay.html.
AP Marine Biology Simulation Role Play (Java Version)
Starting in 2003-04, the AP curriculum will use
Java as
its delivery language. Accordingly, a new the case study has
been written.
As was the case when the AP curriculum moved from Pascal to C++, the
topic of
the case study has been preserved, but the code (and the narrative)
have been
completely rewritten. We have written a scripted role play
exercise that
introduces users (actors and observers) to the fundamental aspects of
this new
case study, including the use of inheritance within
it.
Java
MBS Role Play Scripts (PDF, 139 KB, PDF Instructions)
Java
MBS Role Play Overview (PDF, 153 KB, PDF Instructions)
Marine Biology Case Study Role Play (C++ Version)
As part of the Advanced Placement Computer Science
curriculum,
students study a large object-oriented program in depth.
Currently, that
program is the Marine Biology Case Study (MBCS). This program
consists
of large numbers of interacting objects from seven different classes
(plus a
separate main function). It is our experience that students (and
teachers!)
can feel overwhelmed when they first encounter MBCS. We have
found that
the following scripted role playing exercise can be very helpful in
terms of
getting a grasp on the program. In addition to being used in our
courses
(where we used MBCS as long as we used C++), this exercise has been
used by
large numbers of teachers attending College Board workshops. The
current
version of both the role play and the overview documents incorporates
the feedback
of many teachers. We thank you all.
MBCS
Role Play Scripts (PDF, 103 KB, PDF Instructions)
MBCS
Role Play Overview (PDF, 128 KB, PDF Instructions)
Chips Role Play
Chips is a Nim-like game in which two (or more)
players
take turns removing some number of indistinguishable chips from a
pile.
The initial pile size, N, is a parameter of the game. The first
player
must remove between 1 and N-1 chips, inclusive. Each subsequent
player
must remove between 1 and 2*previous_move chips. The player to
remove
the last chip wins.
We have written a version of Chips in which
players of various
strategies (e.g. random, "always take 1", "ask the
user")
can compete. The various strategic player classes inherit from
an abstract
player class. (This code is available in both C++ and Java
versions.)
We have also written role play scripts and an overview document for
Chips.
Note that the inheritance in this role play is modeled through
delegation.
Chips
Role Play (PDF, 105 KB, PDF Instructions)
Chips
Role Play Overview (PDF, 106 KB, PDF Instructions)
Other Role Play Exercises
A "subpage" of Chris Nevison's Unofficial APCS
Web page (http://cs.colgate.edu/APCS/) has a number
of other role playing exercises. One illustrates parameter passing; one
demonstrates some recursion; and a third demonstrates the workings of an elevator
control system. (The latter two make some use of graphics.) View
the role play exercises at http://cs.colgate.edu/APCS/Java/RolePlays/JavaRolePlays.htm.
| Hosted by |
 |
and |
 |
, and sponsored by |
 |
. |
For more information, please contact Linda Keller, Project Manager,
ISTE at:
lkeller@iste.org.
| Role Playing and the APCS Java Marine Biology Simulation, David Levine, supportive materials |
|