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
© Copyright 2026 Paperzz