Gaming in the Classroom: Essential Elements Pitfalls Bad/Successes Good
description
Transcript of Gaming in the Classroom: Essential Elements Pitfalls Bad/Successes Good
Richard ListonUrsinus College
Currently: CS Professor/Networking Researcher
Currently: CS Professor/Networking Researcher
Formerly: Musician
Currently: CS Professor/Networking Researcher
Formerly: Musician• IF (“Adventure”)
Currently: CS Professor/Networking Researcher
Formerly: Musician• IF (“Adventure”)• Hofstadter: “Gödel, Escher, Bach”
Currently: CS Professor/Networking Researcher
Formerly: Musician• IF (“Adventure”)• Hofstadter: “Gödel, Escher, Bach”• Math/CS…and still love learning…
NITLE Seminar, Summer 2005Incorporated into my courses (various sources)
▪ Intro to CS: quiz game (User I/O, designing for generality: reading from file)
▪ Data Structures: artificial life (arrays, simple image file formats), minesweeper (recursion, 2D arrays)
▪ Computer Networks: networked QuadraPong (protocol design/implementation, protocol interoperability)
▪ CIE: Interactive Fiction (explore moral dilemmas w/Inform 7)
▪ Students play games
▪ Students play games▪ Professors play games
▪ Students play games▪ Professors play games▪ Designing/implementing games is fun
for all
▪ Students play games▪ Professors play games▪ Designing/implementing games is fun
for all▪ Advantages (disadvantages?) of peer
reviews▪ Learning value
ImmersionActive thoughtRequires broad knowledge
Game domain Interdisciplinary skills
Learn good process: complete design
• Experience: successes and challenges
• Possible projects in other disciplines (non-CS)
• Some recommendations• Discussion
Assignment:• Choose a topic about which you have a
great deal of knowledge• Create a series of questions with
multiple choice answers• Devise a scoring system• Administer the quiz• Print scores and some associated
comment about the score
All working games
All working games Topics
Math Music Television Shows Sports: baseball, hockey Geography Food “The Godfather”
Time to grade: plan this!
Time to grade: plan this! Scoring system too open-ended
AKA “Artificial life”Assignment:
Use arrays (low-level data structure) Read file describing initial conditions and
rules Write out image representing
“generations”
Beautiful picturesExperience with emergent propertiesWork with image file formatsWork with low-level data structures
Time to grade: plan this!Scoring system too open-endedShort time, many new detailsComplex: risky!
Assignment:Design network protocolUse real IETF processModify game code with protocolTest against other implementations
Game Engine Credit: Scott Kulp
Game Engine Credit: Scott Kulp
Mostly properly working gamesLearn about design in the real worldWork with real-time protocolsSolid software development processPlay during exam time!
Time to grade: plan this!Scoring system too open-endedShort time, many new detailsVery complex: risky!Managing group dynamics
Time to grade: plan this!Scoring system too open-endedShort time, many new detailsVery complex: risky!Managing group dynamicsQuiet during exam period!
Languages: To create: must know vocabulary, structure Can reinforce, steadily increase difficulty
Sciences Solve math/physics/chemistry puzzles Anthropomorphize photosynthesis
History: create historically accurate virtual world Fixed in time Historical events unfold over time
Clear goal Realistic time frame Access to information
Domain of topic Facility with development environment
Process Schedule Revision control: SubVersion Shipping Product? Maintenance?
Employ solid software engineering practice (optimal)
Employ solid software engineering practice (optimal) Choose teams well
▪ Different skills (may not be able to)
Employ solid software engineering practice (optimal) Choose teams well
▪ Different skills (may not be able to) Good idea (aye, there’s the rub)
Employ solid software engineering practice (optimal) Choose teams well
▪ Different skills (may not be able to) Good idea (aye, there’s the rub) Design/design review
▪ User studies using prototype (HCI techniques)▪ Thinkaloud: user talks while using the product▪ Task Completion: user completes specific tasks
according to script
Employ solid software engineering practice (optimal) Choose teams well
▪ Different skills (may not be able to) Good idea (aye, there’s the rub) Design/design review
▪ User studies using prototype (HCI techniques)▪ Thinkaloud: user talks while using the product▪ Task Completion: user completes specific tasks
according to script Implement/review/debug
Employ solid software engineering practice (optimal) Choose teams well
▪ Different skills (may not be able to) Good idea (aye, there’s the rub) Design/design review
▪ User studies using prototype (HCI techniques)▪ Thinkaloud: user talks while using the product▪ Task Completion: user completes specific tasks
according to script Implement/review/debug Testing: user studies with real system
Know your system Use Features Capabilities (don’t exceed)
Don’t Panic! They’re learning: Group skills (not all students enter
college with the skills that would make them a good team members)
Development process (not just for CS) Use of a game development
environment; knowing something about what software can do won’t hurt anyone
• Plan a reasonable, complete schedule (How??)• Keep eyes open for red flags of schedule slip• Watch for group “issues”• Make the group think through the tasks in detail
▪ Too easy to say “we’ll get it done in time”▪ Because we can imagine it, we can do it?
• Implement when the design is complete• But is delay of gratification still fun? Yes, with support.
• Keep everyone focused on a common end result