ISTE Home
About ISTE
Advocacy
Educator Resources
Membership
NECC
NETS
Career Center
News & Events
Professional Development
Assessment and Technology Training
Best of the Best Workshops
Implications Wheel Facilitation
ISTE Institute
ISTE-JHU Certificate
NECC (National Educational Computing Conference)
Special Programming at NECC
Assessment & Technology
Forums
Summits
Symposia
Computer Science
2007
2006
2005
2004
2003
Evaluation Results
Presentations
Educating Kids for the Information Age
Ethics in the Age of Napster and MP3
How Real Interdisciplinary Curricula Can Work for All of Us
An Introduction to the Security Implications of Wireless Networking
Modeling: An Innovative Approach in High School Computing
Object Oriented Design: Think Big
Role Playing and the APCS Java Marine Biology Simulation
Toward a K-12 Computer Science Curriculum
The Use of the Internet in Computer Science Courses
Web Programming—Free, Fast, and Fun!
What's New in Computing?
2002
2001
2000
Leadership
Technology Leadership Program
NETS for Teachers: Train the Trainer Workshop
Webinar Series
Publications
Research
Store

Printer Friendly

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 ISTE and ACM , and sponsored by Microsoft (R) .

For more information, please contact Linda Keller, Project Manager, ISTE at: lkeller@iste.org.

Customer Service: iste@iste.org   1.800.336.5191   1.541.302.3777 (Int'l)   1.541.302.3778 (fax)
Visit the ISTE Career Center for educational technology jobs, resources, and listings.