230 likes | 303 Views
Explore practical strategies for teaching abstraction through role play in computer science courses. Learn how to engage students, make learning concrete yet extendable, and promote critical thinking. Discover tactics to climb Bloom's ladder, implement Vygotsky's Zone of Proximal Development, and work within Cowan's limits to foster student understanding.
E N D
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:
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