Presentation is loading. Please wait.

Presentation is loading. Please wait.

Teaching Software Engineering Through Game Design Kajal ClaypoolMark Claypool UMass LowellWPI.

Similar presentations


Presentation on theme: "Teaching Software Engineering Through Game Design Kajal ClaypoolMark Claypool UMass LowellWPI."— Presentation transcript:

1 Teaching Software Engineering Through Game Design Kajal ClaypoolMark Claypool UMass LowellWPI

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

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

4 ITiCSE, Costa De Caparica, Portugal4 June 27-29, 2005 Software Engineering Course Sequences Breadth  Requirements Elicitation  Requirements Analysis  Design (System and Object)  Implementation  Testing and Maintenance Depth  Object Design  Architectural patterns  Design patterns  Implementation  Testing

5 ITiCSE, Costa De Caparica, Portugal5 June 27-29, 2005 Software Engineering at UMass Lowell 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 What is a “good” SE project?

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

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

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

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

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

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

12 ITiCSE, Costa De Caparica, Portugal12 June 27-29, 2005 Lessons Learned 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 Meetings after hours, extended project functionality…  Higher retention between course sequence Integration with other CS topics beneficial  Ex: HCI students made better game interfaces “Good” games may require broader curriculum  Art, Critical Game Studies, Social Issues …

13 ITiCSE, Costa De Caparica, Portugal13 June 27-29, 2005 Future Work Rigorous evaluation Complete vertical and horizontal integration Use to increase enrollment of women in CS


Download ppt "Teaching Software Engineering Through Game Design Kajal ClaypoolMark Claypool UMass LowellWPI."

Similar presentations


Ads by Google