Using Borland Builder 6

Using Role Play for
an Upper Level CS
Course
Michael Leverington
University of Nevada, Reno
CCSC Southwestern Regional Conference
3 April 2009
Presentation Goals

Background . . . and the "why"

Activity . . . using the tool

Summary . . . why it works
Background

Abstraction is difficult to teach
 students

not developmentally ready
Mckinnon, Renner (1971)
Background

Abstraction is difficult to teach
 We
attempt to climb Bloom's ladder
(Krathwohl, Bloom, Masia, 1964):
knowledge
 understanding
 application
 analysis
 synthesis
 evaluation

Background

Abstraction is difficult to teach
 Vygotsky
says to put learning
within reach (Davydov, Kerr, 1995)

"Zone of Proximal Development"
Background

Abstraction is difficult to teach
 Vygotsky
says to put learning
within reach (Davydov, Kerr, 1995)

"Zone of Proximal Development"
Background

Abstraction is difficult to teach
 Cowan
(and many others) note
that we are limited to remembering
a limited number of "chunks" of
information (Cowan, 2001)
The Activity - Making it Real

Students are engaged:
 The
learning is concrete, but can
be extended
 Students are engaged
The Activity - Making it Real

Students are engaged:
 The
learning is concrete, but can
be extended
 Students are engaged
every minute
 even students who are not up front
. . . yet

The Activity - Making it Real

Students are engaged:
 The
learning is concrete, but can
be extended
 Students are engaged
every minute
 even students who are not up front
. . . yet

 Students

have to think
sometimes metacognitively
(Bransford, Brown, Cocking, 1999)
The Activity - Making it Real
Implemented for simple forking
 Implemented for Concurrency
and Synchronization

 much

tighter script
Implemented for I/O devices
 incorporates
whole computer
architecture
 "object-oriented" role play
The Activity - Simple Forking

The code, to start with:
printf( "Process begins\n" );
pid1 = fork();
printf( "One fork completed\n" );
pid2 = fork();
printf( "Second fork completed\n" );
The Activity - Simple Forking

printf( "Process begins\n" );
OS person calls randomly selected
student to board
 Student's random number becomes
her/his PID
 Student implements print action

The Activity - Simple Forking

pid1 = fork();
Student implements fork, OS person
calls new random student to board
 Calling student gets PID value; called
student gets zero (0)
 Both students place their "pid1"
variable values on the board

The Activity - Simple Forking

printf( "One fork completed\n" )
OS person calls on first student to act,
then second student
 each prints his/her statement through
OS person to "I/O" person on board

The Activity - Simple Forking

pid2 = fork();
OS person calls on first student to act
 First student calls OS to create new
process; OS calls new random
student to board
 Both students write down their "pid2"
values

The Activity - Simple Forking

pid2 = fork();
OS person calls on second student to
act
 Second student calls OS to create
new process; OS calls new random
student to board
 Both students write down their "pid2"
values

The Activity - Simple Forking

printf( "Second fork completed" );
OS person calls on each student to
act
 Each student prints to "I/O" person as
s/he is prompted by the OS

Developing Abstraction

Students are given pieces of the
mental model "puzzle" one at a time,
but are expected to build the model
as the role-play progresses
Teaching on Bloom's "Ladder"
Students have acquired the basic
knowledge through reading and lecture
 Students are now required to


process the factual knowledge (i.e.,
understand it)
 apply the knowledge to the situation
 analyze and synthesize new actions they
have not seen before
Teaching in Vygotsky's "Zone"
Steps of the process are incremental
 No single step moves too far forward
in the direction of the content to be
learned - but we do get through the
whole process in one class time

Teaching with Cowan's Limits
For better or worse, the role-play moves
somewhat slowly
 Students have time to process the
individual activities and begin to develop
a mental model, or organized "structure"
of the actions
 The mental model will become an
abstraction of its own as the student
processes it

Using Role Play for
an Upper Level CS
Course
CCSC SW - '09
Questions Invited