gaming for computer science instruction[part 2] andrew phelps director, game design &...

25

Upload: eugenia-robinson

Post on 30-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester
Page 2: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Gaming for Computer Science Instruction [part 2]Gaming for Computer Science Instruction [part 2]

Andrew PhelpsDirector, Game Design & DevelopmentCollege of Computing & Information SciencesRochester Institute of Technology

Andrew PhelpsDirector, Game Design & DevelopmentCollege of Computing & Information SciencesRochester Institute of Technology

Page 3: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Problems with an objects-first approach (CC2001):

Problems with materials

Lack of experience

Object-oriented thinking not natural for the introductory course

Libraries & GUI’s overwhelm the student

May not be reinforced in upper level courses

[33][34][35][36][37][38][39][40][41]

Problems with an objects-first approach (CC2001):

Problems with materials

Lack of experience

Object-oriented thinking not natural for the introductory course

Libraries & GUI’s overwhelm the student

May not be reinforced in upper level courses

[33][34][35][36][37][38][39][40][41]

Programming Education HurdlesProgramming Education Hurdles

Page 4: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Programming Education HurdlesProgramming Education HurdlesStudents don’t have the conceptual framework to understand object-oriented programmingP – toy problems without reference to current understanding

Too hard to go to applications made up of objects and relationships from individual classes

Need to teach control structures, etc along with object-oriented programming techniques

All of this leads to a decline in student enrollment and self-efficacy in computing as a profession!

Students don’t have the conceptual framework to understand object-oriented programmingP – toy problems without reference to current understanding

Too hard to go to applications made up of objects and relationships from individual classes

Need to teach control structures, etc along with object-oriented programming techniques

All of this leads to a decline in student enrollment and self-efficacy in computing as a profession!

Page 5: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Perceived ProblemPerceived Problem

Gulf of Expectation:

Today’s student is motivated by games, modding, music-lists and collaborative computing. [1][2][3] In contrast, today’s programming classroom is (still) isolationist, focused on syntax rather than intellectual meat [4], and revolves around toy problems that can often be solved with a calculator, which sidesteps real learning. [5][6][7]

Gulf of Expectation:

Today’s student is motivated by games, modding, music-lists and collaborative computing. [1][2][3] In contrast, today’s programming classroom is (still) isolationist, focused on syntax rather than intellectual meat [4], and revolves around toy problems that can often be solved with a calculator, which sidesteps real learning. [5][6][7]

Page 6: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Perceived ProblemPerceived Problem

Divisional Groups:Upper Division Groups: Have

learned the introductory material and have “suffered through” to get to the “good stuff” (i.e. the game engine courses)

Lower Division Groups: Are just arriving on campus eager to change the world, but don’t know how to get started.

Zero Meaningful Interaction

Page 7: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Strategies for Successful Objects First ExperiencesStrategies for Successful Objects First Experiences

Using gaming ideas as a basis for teaching.

Teaching design before coding syntax

Immediate feedback for actions

Teaching object-oriented concepts early

Showing the relationships between classes

Carrying object-oriented concepts into later courses

No “toy problems” – tie programming to real-world problem solving

[42][43][44][45][46][47][48][49][50][51][52][38][53][54][55]

Using gaming ideas as a basis for teaching.

Teaching design before coding syntax

Immediate feedback for actions

Teaching object-oriented concepts early

Showing the relationships between classes

Carrying object-oriented concepts into later courses

No “toy problems” – tie programming to real-world problem solving

[42][43][44][45][46][47][48][49][50][51][52][38][53][54][55]

Page 8: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

ApproachApproach

Create a virtual environment that allows students to realize game-world-like achievement / artifacts, and allows for socialization across the capability gap.

Create a virtual environment that allows students to realize game-world-like achievement / artifacts, and allows for socialization across the capability gap.

Page 9: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

BackgroundBackground

Logo (now StarLogo) @

MIT [26]

Karel the Robot [27]

PigWorld [31]

Alice @ CMU [28][29][30]

Rapunsel @ NYU [32]

SecondLife[secondlife.com]

NGP

MooseCrossing

We wanted something that felt more game-world like in terms of

graphics, interactions, and social constructs,

but that also preserved the compilation /

authorship process common to first-year computing curricula.

SAGESAGE[UNT][UNT]

DXFrameworkDXFramework[U of M][U of M]

Page 10: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Introducing M.U.P.P.E.T.S.:Introducing M.U.P.P.E.T.S.:

The Multi-User Programming Pedagogy for Enhancing Traditional Study: [8][9][10][11][12][13][14][15]

Will not dictate curriculum (although objects first is best )

Will not dictate collaboration level (although more is better)

Page 11: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

What is it?What is it?

C# & Java IDE

User Created Objects

Shared 3DEnvironment

Collaborative virtual environment

Integrated IDE

Ability to compile, instantiate, debug and recompile from inside the environment (or VS2005)

Ability for students to share objects and interact.

Page 12: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Impact as a Teaching AidImpact as a Teaching AidShow class relationships

Composition to create new objects from other objectsAssociation to show a “knows of” relationship between objectsAbility to display a UML diagram showing relationships visually.

Show class relationships

Composition to create new objects from other objectsAssociation to show a “knows of” relationship between objectsAbility to display a UML diagram showing relationships visually.

A trooper avatar exploring his own class

diagram

Page 13: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Collaborative & Constructivist LearningCollaborative & Constructivist LearningClassroom exercises

based on constructivist principles, using M.U.P.P.E.T.S. as a scaffold as knowledge is gained.

[5][16][17][18][19][20]

Classroom exercises based on constructivist principles, using M.U.P.P.E.T.S. as a scaffold as knowledge is gained.

[5][16][17][18][19][20]

1. There is no sense of universal truth. Instead, the learner constructs knowledge, and therefore a concept of truth, through interactions with the real world combined with past experiences.

2. The formation of new knowledge must be built upon knowledge already constructed by the learner.

3. Learning is framed through social interaction with others including peers and experts.

4. Meaningful learning can only occur when the learner is engaged in complex, authentic tasks

Page 14: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Collaborative & Constructivist LearningCollaborative & Constructivist Learning“the instructional use of

small groups so that students work together to maximize their own and each other’s learning”

(with an emphasis on interdependence)

“the instructional use of small groups so that students work together to maximize their own and each other’s learning”

(with an emphasis on interdependence)

Collaborative projects are encouraged to break the cultural mode.

[21][22][23][24]

Page 15: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Anecdotal SuccessAnecdotal Success

They think they learned more (not clear that they actually did)

Closer to their goals and expectations?

More relevant to their peers?

They think they learned more (not clear that they actually did)

Closer to their goals and expectations?

More relevant to their peers?

Practically nothing

Little Moderate amount

A lot Exceptional amount

Amount Learned

0

5

10

15

20

25

30

Co

un

t

Assignment Type

Traditional

Robocode

TankBrain

Table 1: Mean Ranks for Perceived Amount Learned by Assignment Type

Assignment Type N Mean Rank

Amount Learned Traditional55 57.41

Robocode21 38.90

TankBrain42 72.54

Total 118

Work previously presented by A. Phelps, C Egert, K Bierre and P Ventura at

SIGCSE 2006

Page 16: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Breaking Down BarriersBreaking Down Barriers

TankBrain

Tag

Gomoku

OMGZ, an Art1sT

in teh comp l4b!!!11!!one

TankBrain

Tag

Gomoku

OMGZ, an Art1sT

in teh comp l4b!!!11!!one

Gomoku by D. Parks and E. Huyer, Tank Brian by Prof. K. Bierre’s 219 Class, Robot by Michael P. Clark. All rights reserved, Rochester Institute of Technology 2002-2006

Page 17: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

A Quick Tour of M.U.P.P.E.T.S.A Quick Tour of M.U.P.P.E.T.S.

Andrew PhelpsDirector, Game Design & DevelopmentRochester Institute of Technology

Andrew PhelpsDirector, Game Design & DevelopmentRochester Institute of Technology

Page 18: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

AcknowledgementsAcknowledgements

RIT Provost’s Learning Initiatives Grants

RIT Information Technology Department

RIT Entertainment Technology Lab

Microsoft Research (John Nordlinger and others)

RIT Provost’s Learning Initiatives Grants

RIT Information Technology Department

RIT Entertainment Technology Lab

Microsoft Research (John Nordlinger and others)

Page 19: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

Contact InformationContact Information

Andrew M. PhelpsDirector, Game Design & DevelopmentAssociate ProfessorInteractive Media GroupDepartment of Information TechnologyCollege of Computing & Info. SciencesRochester Institute of [email protected] andysgi.rit.edu

MUPPETS.RIT.EDU

SlipField game by RIT Information Technology students © 2005-2006

Page 20: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

ReferencesReferences

[1] M. Guzdial and E. Soloway, "Log on Education: Teaching the Nintendo generation to program," Communications of the ACM, vol. 45, no. 4, pp. 17-21, 2002

[2] E. Soloway, "How the Nintendo Generation Learns," Communications of the ACM, vol. 34, no. 9, pp. 23-26, 1991

[3] M. Prensky, Digital Game-Based Learning. New York, NY: McGraw-Hill, 2001

[4] K. Becker, "Teaching with Games: The Minesweeper and Asteroids Experience," Journal of Computing Sciences in Colleges, vol. 17, no. 2, pp. 23-33, 2001

[5] J. G. Brooks and M. G. Brooks, In Search of Understanding: The Case for Constructivist Classrooms. Alexandria, VA: Association for Supervision and Curriculum Development, 1999

[6] D. P. Kauchak and P. D. Eggen, Learning and Teaching: Research-based Methods, 4th ed. Boston, MA: Pearson, 2003

[7] K. Powers and D. T. Powers, "Making Sense of Teaching Methods in Computing Education," in Proceedings of the 29th ASEE/IEEE Frontiers in Education Conference, San Juan, Puerto Rico, pp. 11B3/30-22B3/35, 1996

[8] K. Bierre and A. Phelps, "The Use of MUPPETS in an Introductory Java Programming Course," in Proceedings of the 5th Conference on Information Technology Education, pp. 122-127, 2004

[9] K. Bierre, P. Ventura, A. Phelps, and C. Egert, "Motivating OOP by Blowing Things Up: An Exercise in Cooperation and Competition in an Introductory Java Programming Course," in Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, pp. In Press, 2006

[10] A. Phelps, K. Bierre, and D. Parks, "MUPPETS: Multi-User Programming Pedagogy for Enhancing Traditional Study," in Proceedings of the 4th Conference on Information Technology Education. Lafayette, IN, 2003, pp. 100-105.

[11] A. Phelps, C. Egert, and K. Bierre, "MUPPETS: Multi-User Programming Pedagogy for Enhancing Traditional Study: An Environment for both Upper and Lower Division Students," in Frontiers in Education, 2005

[12] A. Phelps, C. Egert, K. Bierre, and D. Parks, "An Open-Source CVE for Programming Education: A Case Study," in The 32nd International Conference on Computer Graphics and Interactive Techniques (SIGGRAPH) Supplemental Notes - Educators Half Day Session, 2005

[1] M. Guzdial and E. Soloway, "Log on Education: Teaching the Nintendo generation to program," Communications of the ACM, vol. 45, no. 4, pp. 17-21, 2002

[2] E. Soloway, "How the Nintendo Generation Learns," Communications of the ACM, vol. 34, no. 9, pp. 23-26, 1991

[3] M. Prensky, Digital Game-Based Learning. New York, NY: McGraw-Hill, 2001

[4] K. Becker, "Teaching with Games: The Minesweeper and Asteroids Experience," Journal of Computing Sciences in Colleges, vol. 17, no. 2, pp. 23-33, 2001

[5] J. G. Brooks and M. G. Brooks, In Search of Understanding: The Case for Constructivist Classrooms. Alexandria, VA: Association for Supervision and Curriculum Development, 1999

[6] D. P. Kauchak and P. D. Eggen, Learning and Teaching: Research-based Methods, 4th ed. Boston, MA: Pearson, 2003

[7] K. Powers and D. T. Powers, "Making Sense of Teaching Methods in Computing Education," in Proceedings of the 29th ASEE/IEEE Frontiers in Education Conference, San Juan, Puerto Rico, pp. 11B3/30-22B3/35, 1996

[8] K. Bierre and A. Phelps, "The Use of MUPPETS in an Introductory Java Programming Course," in Proceedings of the 5th Conference on Information Technology Education, pp. 122-127, 2004

[9] K. Bierre, P. Ventura, A. Phelps, and C. Egert, "Motivating OOP by Blowing Things Up: An Exercise in Cooperation and Competition in an Introductory Java Programming Course," in Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, pp. In Press, 2006

[10] A. Phelps, K. Bierre, and D. Parks, "MUPPETS: Multi-User Programming Pedagogy for Enhancing Traditional Study," in Proceedings of the 4th Conference on Information Technology Education. Lafayette, IN, 2003, pp. 100-105.

[11] A. Phelps, C. Egert, and K. Bierre, "MUPPETS: Multi-User Programming Pedagogy for Enhancing Traditional Study: An Environment for both Upper and Lower Division Students," in Frontiers in Education, 2005

[12] A. Phelps, C. Egert, K. Bierre, and D. Parks, "An Open-Source CVE for Programming Education: A Case Study," in The 32nd International Conference on Computer Graphics and Interactive Techniques (SIGGRAPH) Supplemental Notes - Educators Half Day Session, 2005

Page 21: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

References (continued)References (continued)[13] A. Phelps and D. Parks, "Fun and games with multi-language development," QUEUE, vol. 1, no. 10, pp. 2-12,

2004

[14] A. Phelps, C Egert and K. Bierre. “Games First Pedagogy, Using Virtual Worlds to Enhance Programming Education,” in The Journal of Games Development, vol. 1, no. 4. forthcoming.

[15] C Egert, K Bierre, P Ventura and A. Phelps. “M.U.P.P.E.T.S.: Using a 3D Collaborative Virtual Environment to Motivate Fundamental Object-Oriented Learning,” in Proceedings of the ACM SIGPLAN Object Oriented Programming, Systems, Languages and Applications (OOPSLA) Conference 2006. forthcoming.

[16] J. S. Bruner, Towards a Theory of Instruction. Cambridge, MA: Harvard University Press, 1966

[17] S. Haderjerrrouit, "A Constructivist Approach to Object-Oriented Design and Programming," in Proceedings of the ACM Conference on Innovation and Technology in Computer Science Education. Cracow, Poland, 1999, pp. 171-174.

[18] D. P. Kauchak and P. D. Eggen, Learning and Teaching: Research-based Methods, 4th ed. Boston, MA: Pearson, 2003

[19] K. Powers and D. T. Powers, "Making Sense of Teaching Methods in Computing Education," in Proceedings of the 29th ASEE/IEEE Frontiers in Education Conference, San Juan, Puerto Rico, pp. 11B3/30-22B3/35, 1996

[20] T. C. Reeves and J. R. Okey, "Alternative Assessment for Constructivist Learning Environments," in Constructivist Learning Environments: Case studies in Instructional Design, B. G. Wilson, Ed. Englewood Cliffs, NJ: Educational Technology Publications, pp. 191-220, 1996

[21] D. W. Johnson and R. T. Johnson, "Cooperative Learning and Achievement," in Cooperative Learning: Theory and Research, S. Sharan, Ed. New York, NY: Praeger, pp. 23-37, 1990

[22] D. W. Johnson and R. T. Johnson, Working Together and Alone: Cooperation, competition, and individualization, 4th ed. Needham Heights, MA: Allyn and Bacon, 1994

[23] D. W. Johnson, R. T. Johnson, and K. A. Smith, "Cooperative Learning: Increasing College Faculty Instructional Productivity (ASHE-ERIC Higher Education 4)," The George Washington University, School of Education and Human Development, Washington, DC 1991

[24] R. Slavin, Cooperative Learning, 2nd ed. Needham Heights, MA: Allyn and Bacon, 1995

[25] http://www.joystiq.com/2006/05/03/seattle-named-top-video-game-city-in-the-nation/

[13] A. Phelps and D. Parks, "Fun and games with multi-language development," QUEUE, vol. 1, no. 10, pp. 2-12, 2004

[14] A. Phelps, C Egert and K. Bierre. “Games First Pedagogy, Using Virtual Worlds to Enhance Programming Education,” in The Journal of Games Development, vol. 1, no. 4. forthcoming.

[15] C Egert, K Bierre, P Ventura and A. Phelps. “M.U.P.P.E.T.S.: Using a 3D Collaborative Virtual Environment to Motivate Fundamental Object-Oriented Learning,” in Proceedings of the ACM SIGPLAN Object Oriented Programming, Systems, Languages and Applications (OOPSLA) Conference 2006. forthcoming.

[16] J. S. Bruner, Towards a Theory of Instruction. Cambridge, MA: Harvard University Press, 1966

[17] S. Haderjerrrouit, "A Constructivist Approach to Object-Oriented Design and Programming," in Proceedings of the ACM Conference on Innovation and Technology in Computer Science Education. Cracow, Poland, 1999, pp. 171-174.

[18] D. P. Kauchak and P. D. Eggen, Learning and Teaching: Research-based Methods, 4th ed. Boston, MA: Pearson, 2003

[19] K. Powers and D. T. Powers, "Making Sense of Teaching Methods in Computing Education," in Proceedings of the 29th ASEE/IEEE Frontiers in Education Conference, San Juan, Puerto Rico, pp. 11B3/30-22B3/35, 1996

[20] T. C. Reeves and J. R. Okey, "Alternative Assessment for Constructivist Learning Environments," in Constructivist Learning Environments: Case studies in Instructional Design, B. G. Wilson, Ed. Englewood Cliffs, NJ: Educational Technology Publications, pp. 191-220, 1996

[21] D. W. Johnson and R. T. Johnson, "Cooperative Learning and Achievement," in Cooperative Learning: Theory and Research, S. Sharan, Ed. New York, NY: Praeger, pp. 23-37, 1990

[22] D. W. Johnson and R. T. Johnson, Working Together and Alone: Cooperation, competition, and individualization, 4th ed. Needham Heights, MA: Allyn and Bacon, 1994

[23] D. W. Johnson, R. T. Johnson, and K. A. Smith, "Cooperative Learning: Increasing College Faculty Instructional Productivity (ASHE-ERIC Higher Education 4)," The George Washington University, School of Education and Human Development, Washington, DC 1991

[24] R. Slavin, Cooperative Learning, 2nd ed. Needham Heights, MA: Allyn and Bacon, 1995

[25] http://www.joystiq.com/2006/05/03/seattle-named-top-video-game-city-in-the-nation/

Page 22: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

References (continued)References (continued)

[26] Logo Foundation: http://el.media.mit.edu/logo-foundation/logo/index.html

[27] R. Pattis, Karel the Robot: A Gentle Introduction to the Art of Programming with Pascal: John Wiley and Sons, 1981

[28] M. J. Conway, "Alice: Easy-to-Learn 3D Scripting for Novices," in Computer Science, vol. Doctor of Philosophy: University of Virginia, 1997.

[29] S. Cooper, W. Dann, and R. Pausch, "Teaching Objects-first in Introductory Computer Science," in Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education . Reno, NV, 2003, pp. 191-195.

[30] F. Culwin, "Object Imperatives!," in Proceedings of the 30th SIGCSE Technical Symposium on Computer Science Education. New Orleans, LA, 1999, pp. 31-36.

[31] R. Lister, "Teaching Java First: Experiments with a Pigs-Early Pedagogy," in Proceedings of the 6th Australasian Computing Education Conference. Dunedin, New Zealand, 2004, pp. 177-183.

[32] M. Flanagan, D. C. Howe, and H. Nissenbaum, "Values at Play: Design Tradeoffs in Socially-Oriented Game Design," in Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. Portland, OR, 2005, pp. 751-760.

[33] D. Clark and P. McacNish, "Java as a Teaching Language: Opportunities, Pitfalls, and Solutions," in Proceedings of the 3rd Australasian Conference on Computer Science Education. The University of Queensland, Australia, 1998, pp. 173-179.

[34] J. Lewis, "Myths About Object-Orientation and its Pedagogy," in Proceedings of the 31st SIGCSE Technical Symposium on Computer Science Education. Austin, TX, 2000, pp. 245-249.

[35] K. B. Bruce, "Controversy on How to Teach CS 1: A discussion on the SIGCSE-members Mailing List," SIGCSE Bulletin, vol. 36, no. 4, pp. 29-34, 2004

[36] R. Decker and S. Hirshfield, "The Top 10 Reasons Why Object-Oriented Programming Can't Be Taught in CS 1," in Proceedings of the 25th SIGCSE Technical Symposium on Computer Science Education . Phoenix, AZ, 1994, pp. 51-55.

[26] Logo Foundation: http://el.media.mit.edu/logo-foundation/logo/index.html

[27] R. Pattis, Karel the Robot: A Gentle Introduction to the Art of Programming with Pascal: John Wiley and Sons, 1981

[28] M. J. Conway, "Alice: Easy-to-Learn 3D Scripting for Novices," in Computer Science, vol. Doctor of Philosophy: University of Virginia, 1997.

[29] S. Cooper, W. Dann, and R. Pausch, "Teaching Objects-first in Introductory Computer Science," in Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education . Reno, NV, 2003, pp. 191-195.

[30] F. Culwin, "Object Imperatives!," in Proceedings of the 30th SIGCSE Technical Symposium on Computer Science Education. New Orleans, LA, 1999, pp. 31-36.

[31] R. Lister, "Teaching Java First: Experiments with a Pigs-Early Pedagogy," in Proceedings of the 6th Australasian Computing Education Conference. Dunedin, New Zealand, 2004, pp. 177-183.

[32] M. Flanagan, D. C. Howe, and H. Nissenbaum, "Values at Play: Design Tradeoffs in Socially-Oriented Game Design," in Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. Portland, OR, 2005, pp. 751-760.

[33] D. Clark and P. McacNish, "Java as a Teaching Language: Opportunities, Pitfalls, and Solutions," in Proceedings of the 3rd Australasian Conference on Computer Science Education. The University of Queensland, Australia, 1998, pp. 173-179.

[34] J. Lewis, "Myths About Object-Orientation and its Pedagogy," in Proceedings of the 31st SIGCSE Technical Symposium on Computer Science Education. Austin, TX, 2000, pp. 245-249.

[35] K. B. Bruce, "Controversy on How to Teach CS 1: A discussion on the SIGCSE-members Mailing List," SIGCSE Bulletin, vol. 36, no. 4, pp. 29-34, 2004

[36] R. Decker and S. Hirshfield, "The Top 10 Reasons Why Object-Oriented Programming Can't Be Taught in CS 1," in Proceedings of the 25th SIGCSE Technical Symposium on Computer Science Education . Phoenix, AZ, 1994, pp. 51-55.

Page 23: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

References (continued)References (continued)

[37] E. Wallingford, "Towards a First Course Based on Object-Oriented Patterns," in Proceedings of the 27th SIGCSE Technical Symposium on Computer Science Education. Philadelphia, PA, 1996, pp. 27-31.

[38] P. Ventura, "On the Origins of Programmers: Identifying Predictors of Success for an Objects-First CS1," in Computer Science and Engineering, vol. Doctor of Philosophy. Buffalo, NY: University at Buffalo, SUNY, 2004.

[39] W. Mitchell, "A Paradigm Shift to OOP has Occurred... Implementation to Follow," Journal of Computing Sciences in Colleges, vol. 16, no. 2, pp. 95-106, 2001

[40] B. J. Neubauer and D. D. Strong, "The Object-Oriented Paradigm: More Natural or Less Familiar," Journal of Computing Sciences in Colleges, vol. 18, no. 1, pp. 280-289, 2002

[41] P. Ventura, "On the Origins of Programmers: Identifying Predictors of Success for an Objects-First CS1," in Computer Science and Engineering, vol. Doctor of Philosophy. Buffalo, NY: University at Buffalo, SUNY, 2004.

[42] C. Nevison and B. Wells, "Teaching Objects Early and Design Patterns in Java Using Case Studies," in Proceedings of the 8th Annual Conference on Innovation and Technology in Computer Science Education . Thessaloniki, Greece, 2003, pp. 94-98.

[43] C. Nevison and B. Wells, "Using a Maze Case Study to Teach Object-Oriented Programming and Design Patterns," in Proceedings of the 6th Australasian Computing Education Conference. Dunedin, New Zealand, 2004, pp. 207-215.

[44] N. Parlante, "Astrachan's Law," SIGCSE Bulletin, vol. 35, no. 4, pp. 26-27, 2003[45] K. B. Bruce, "Controversy on How to Teach CS 1: A discussion on the SIGCSE-members Mailing List," SIGCSE

Bulletin, vol. 36, no. 4, pp. 29-34, 2004[46] K. B. Bruce, A. Danyluk, and T. Murtagh, "A Library to Support a Graphics-based Object-First Approach to CS 1,"

in Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education . Charlotte, NC, 2001, pp. 6-10.

[47] R. Rasala, "Toolkits in First Year Computer Science: A Pedagogical Imperative," in Proceedings of the 31st SIGCSE Technical Symposium on Computer Science Education. Austin, TX, 2000, pp. 185-192.

[48] R. Lister, "Teaching Java First: Experiments with a Pigs-Early Pedagogy," in Proceedings of the 6th Australasian Computing Education Conference. Dunedin, New Zealand, 2004, pp. 177-183.

[37] E. Wallingford, "Towards a First Course Based on Object-Oriented Patterns," in Proceedings of the 27th SIGCSE Technical Symposium on Computer Science Education. Philadelphia, PA, 1996, pp. 27-31.

[38] P. Ventura, "On the Origins of Programmers: Identifying Predictors of Success for an Objects-First CS1," in Computer Science and Engineering, vol. Doctor of Philosophy. Buffalo, NY: University at Buffalo, SUNY, 2004.

[39] W. Mitchell, "A Paradigm Shift to OOP has Occurred... Implementation to Follow," Journal of Computing Sciences in Colleges, vol. 16, no. 2, pp. 95-106, 2001

[40] B. J. Neubauer and D. D. Strong, "The Object-Oriented Paradigm: More Natural or Less Familiar," Journal of Computing Sciences in Colleges, vol. 18, no. 1, pp. 280-289, 2002

[41] P. Ventura, "On the Origins of Programmers: Identifying Predictors of Success for an Objects-First CS1," in Computer Science and Engineering, vol. Doctor of Philosophy. Buffalo, NY: University at Buffalo, SUNY, 2004.

[42] C. Nevison and B. Wells, "Teaching Objects Early and Design Patterns in Java Using Case Studies," in Proceedings of the 8th Annual Conference on Innovation and Technology in Computer Science Education . Thessaloniki, Greece, 2003, pp. 94-98.

[43] C. Nevison and B. Wells, "Using a Maze Case Study to Teach Object-Oriented Programming and Design Patterns," in Proceedings of the 6th Australasian Computing Education Conference. Dunedin, New Zealand, 2004, pp. 207-215.

[44] N. Parlante, "Astrachan's Law," SIGCSE Bulletin, vol. 35, no. 4, pp. 26-27, 2003[45] K. B. Bruce, "Controversy on How to Teach CS 1: A discussion on the SIGCSE-members Mailing List," SIGCSE

Bulletin, vol. 36, no. 4, pp. 29-34, 2004[46] K. B. Bruce, A. Danyluk, and T. Murtagh, "A Library to Support a Graphics-based Object-First Approach to CS 1,"

in Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education . Charlotte, NC, 2001, pp. 6-10.

[47] R. Rasala, "Toolkits in First Year Computer Science: A Pedagogical Imperative," in Proceedings of the 31st SIGCSE Technical Symposium on Computer Science Education. Austin, TX, 2000, pp. 185-192.

[48] R. Lister, "Teaching Java First: Experiments with a Pigs-Early Pedagogy," in Proceedings of the 6th Australasian Computing Education Conference. Dunedin, New Zealand, 2004, pp. 177-183.

Page 24: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

References (continued)References (continued)[49] O. Astrachan, G. Berry, L. Cox, and G. Mitchener, "Design Patterns: An Essential Component of the CS

Curricula," in Proceedings of the 29th SIGCSE Technical Symposium on Computer Science Education . Atlanta, GA, 1998, pp. 153-160.

[50] C. Alphonce and P. Ventura, "Object Orientation in CS1-CS2 by Design," in Proceedings of the 7th Annual Conference on Innovation and Technology in Computer Science Education. Aarhus, Denmark, 2002, pp. 70-74.

[51] C. Alphonce and P. Ventura, "Using Graphics to Support the Teaching of Fundamental Object-Oriented Principles in CS1," in Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). Anaheim, CA, 2003, pp. 156-161.

[52] K. B. Bruce, A. Danyluk, and T. Murtagh, "A Library to Support a Graphics-based Object-First Approach to CS 1," in Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education . Charlotte, NC, 2001, pp. 6-10.

[53] P. Ventura and B. Ramamurthy, "Wanted: CS1 Students. No Experience Required," in Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education. Norfolk, VA, 2004, pp. 240-244.

[54] D. Mutchler and C. Laxer, "Using Multimedia and GUI programming in CS 1," in Proceedings of the 1st Conference on Integrating Technology into Computer Science Education. Barcelona, Spain, 1996, pp. 63-65.

[55] P. Ventura, C. Egert, and A. Decker, "Ancestor Worship in CS1: On the primacy of arrays," in Companion to the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA). Vancouver, British Columbia, Canada, 2004, pp. 68-72.

[49] O. Astrachan, G. Berry, L. Cox, and G. Mitchener, "Design Patterns: An Essential Component of the CS Curricula," in Proceedings of the 29th SIGCSE Technical Symposium on Computer Science Education . Atlanta, GA, 1998, pp. 153-160.

[50] C. Alphonce and P. Ventura, "Object Orientation in CS1-CS2 by Design," in Proceedings of the 7th Annual Conference on Innovation and Technology in Computer Science Education. Aarhus, Denmark, 2002, pp. 70-74.

[51] C. Alphonce and P. Ventura, "Using Graphics to Support the Teaching of Fundamental Object-Oriented Principles in CS1," in Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). Anaheim, CA, 2003, pp. 156-161.

[52] K. B. Bruce, A. Danyluk, and T. Murtagh, "A Library to Support a Graphics-based Object-First Approach to CS 1," in Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education . Charlotte, NC, 2001, pp. 6-10.

[53] P. Ventura and B. Ramamurthy, "Wanted: CS1 Students. No Experience Required," in Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education. Norfolk, VA, 2004, pp. 240-244.

[54] D. Mutchler and C. Laxer, "Using Multimedia and GUI programming in CS 1," in Proceedings of the 1st Conference on Integrating Technology into Computer Science Education. Barcelona, Spain, 1996, pp. 63-65.

[55] P. Ventura, C. Egert, and A. Decker, "Ancestor Worship in CS1: On the primacy of arrays," in Companion to the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA). Vancouver, British Columbia, Canada, 2004, pp. 68-72.

Page 25: Gaming for Computer Science Instruction[part 2] Andrew Phelps Director, Game Design & Development College of Computing & Information Sciences Rochester

© 2006 Microsoft Corporation. All rights reserved.Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft,and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.