Teaching Software Engineering Through Game Design Kajal Claypool

  • Slides: 13
Download presentation
Teaching Software Engineering Through Game Design Kajal Claypool UMass Lowell June 27 -29, 2005

Teaching Software Engineering Through Game Design Kajal Claypool UMass Lowell June 27 -29, 2005 Mark Claypool WPI ITi. CSE, Costa De Caparica, Portugal

Computer Games n Games are popular ¨ Undergraduates n familiar with games Games incorporate

Computer Games n Games are popular ¨ Undergraduates n familiar with games Games incorporate many aspects of CS ¨ Programming, HCI, Algorithms, Networking, Software Engineering, Graphics … n Teaching Games in CS can improve: ¨ Enrollment ¨ Retention ¨ Learning n How to integrate Games into CS curriculum? June 27 -29, 2005 ITi. CSE, Costa De Caparica, Portugal 2

Vertical and Horizontal Integration 4 th year AI for Games Networking and Games Game

Vertical and Horizontal Integration 4 th year AI for Games Networking and Games Game Centric Software Engineering II 3 rd year Game Centric Software Engineering 2 nd year Game Programming II 1 st year Game Programming I Game Graphics HCI for Games Horizontal Integration Vertical Integration June 27 -29, 2005 ITi. CSE, Costa De Caparica, Portugal 3

Software Engineering Course Sequences n Breadth ¨ Requirements n Elicitation ¨ Requirements Analysis ¨

Software Engineering Course Sequences n Breadth ¨ Requirements n Elicitation ¨ Requirements Analysis ¨ Design (System and Object) ¨ Implementation ¨ Testing and Maintenance June 27 -29, 2005 Depth ¨ Object Design ¨ Architectural patterns ¨ Design patterns ¨ Implementation ¨ Testing ITi. CSE, Costa De Caparica, Portugal 4

Software Engineering at UMass Lowell n Software Engineering satisfies Project Sequence requirement ¨ Course

Software Engineering at UMass Lowell n Software Engineering satisfies Project Sequence requirement ¨ Course pair, typically same year ¨ Extensive programming ¨ Typically, same instructor Finding a good software engineering project for 2 semesters is a challenge n What is a “good” SE project? n June 27 -29, 2005 ITi. CSE, Costa De Caparica, Portugal 5

Software Engineering Projects n n Coding and managing large projects Knowledge and coding skills

Software Engineering Projects n n Coding and managing large projects Knowledge and coding skills ¨ Algorithms, n user interfaces, databases, networking Enable students to shift between levels ¨ Low-level tasks (algorithms, implementation) ¨ High level tasks (system and object design) n Demonstrate: ¨ Breadth of knowledge in many CS disciplines ¨ In-depth knowledge in SE principles and life-cycles n Computer games fit the bill June 27 -29, 2005 ITi. CSE, Costa De Caparica, Portugal 6

Game Centric Software Engineering Disciplined approach to implementing computer game, while emphasizing SE principles

Game Centric Software Engineering Disciplined approach to implementing computer game, while emphasizing SE principles n Set of modules n ¨ Each represents SE concept ¨ Applied in context of engineering a game ¨ Corresponding game project June 27 -29, 2005 ITi. CSE, Costa De Caparica, Portugal 7

Modules n n n n n Development life-cycles Project and team management Requirement elicitation

Modules n n n n n Development life-cycles Project and team management Requirement elicitation Game requirements and design Requirement analysis System design Object design Implementation Testing June 27 -29, 2005 ITi. CSE, Costa De Caparica, Portugal 8

Requirement Elicitation n In Software Engineering Formal process ¨ Includes techniques for documentation ¨

Requirement Elicitation n In Software Engineering Formal process ¨ Includes techniques for documentation ¨ Results in specification of system that user understands ¨ n In Game Design Informal process ¨ Includes meaningful play, storyboarding techniques ¨ Development of the Pitch document ¨ n n Emphasis on consolidation of both: SE techniques to formalize game idea Final output: game concept worksheet ¨ Used throughout course sequence June 27 -29, 2005 ITi. CSE, Costa De Caparica, Portugal 9

Game Requirements and Design n Key elements of game design ¨ Develop setting ¨

Game Requirements and Design n Key elements of game design ¨ Develop setting ¨ Storytelling and narrative ¨ Rich gameplay environment ¨ Balance in gameplay n “Design patterns” for game genres ¨ Features n and requirements typical for genre Final output: development of prototype based on game idea June 27 -29, 2005 ITi. CSE, Costa De Caparica, Portugal 10

Requirements Analysis n n Identification of objects (behavior, relationship, classification, organization) Beyond use-cases… ¨

Requirements Analysis n n Identification of objects (behavior, relationship, classification, organization) Beyond use-cases… ¨ Accommodate dynamic nature of game ¨ Build in game state and game rules n Game prototype used to steer analysis ¨ Informs n analysis Final output: game treatment document June 27 -29, 2005 ITi. CSE, Costa De Caparica, Portugal 11

Lessons Learned n n Games need to be integrated into course material … not

Lessons Learned n n Games need to be integrated into course material … not just as projects Students are highly motivated by games ¨ Higher enrollments for SE classes ¨ Willingness to work above and beyond class n Meetings after hours, extended project functionality… ¨ Higher retention between course sequence n Integration with other CS topics beneficial ¨ Ex: n HCI students made better game interfaces “Good” games may require broader curriculum ¨ Art, June 27 -29, 2005 Critical Game Studies, Social Issues … ITi. CSE, Costa De Caparica, Portugal 12

Future Work Rigorous evaluation n Complete vertical and horizontal integration n Use to increase

Future Work Rigorous evaluation n Complete vertical and horizontal integration n Use to increase enrollment of women in CS n June 27 -29, 2005 ITi. CSE, Costa De Caparica, Portugal 13