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

Slides:



Advertisements
Similar presentations
How Can Learning Experiences Be Organized For Effective Instruction?
Advertisements

Project Lead the Way An Orientation American High School.
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
Alternate Software Development Methodologies
Software Engineering 1. Introduction 2. Course schedule.
IS6112 Application Modelling and Design Introduction.
SAK 5609 DATA MINING Prof. Madya Dr. Md. Nasir bin Sulaiman
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
The Education of a Software Engineer Mehdi Jazayeri Presented by Matthias Hauswirth.
© Franz Kurfess Project Topics 1 Topics for Master’s Projects and Theses -- Winter Franz J. Kurfess Computer Science Department Cal Poly.
1 SYSTEM and MODULE DESIGN Elements and Definitions.
What is software engineering?
Term Project User Interface Specifications in a Usability Engineering Course: Challenges and Suggestions Laura Leventhal Julie Barnes Joe Chao Bowling.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
10th Workshop "Software Engineering Education and Reverse Engineering" Ivanjica, Serbia, 5-12 September 2010 First experience in teaching HCI course Dusanka.
Software Engineering Education Andy Gravell, Feb 2007.
Software Engineering 1 Therese Hume X361 Room 7, prefab (mon,wed)
Human Systems Engineering Concentration Amy Bayes 15 October 2014.
8/5/2015\course\cpeg323-08F\Topic1.ppt1 Topic I Introduction to Computer Architecture and Organization.
INTRODUCTION. Concepts HCI, CHI Usability User-centered Design (UCD) An approach to design (software, Web, other) that involves the user Interaction Design.
The Game Development Process. Typical Development Cycle Idea Proposal Design Evaluation Coding Testing Release.
ICT TEACHERS` COMPETENCIES FOR THE KNOWLEDGE SOCIETY
1. Human – the end-user of a program – the others in the organization Computer – the machine the program runs on – often split between clients & servers.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Biomedical design projects developed around OEM devices Jean-Michel I Maarek Department of Biomedical Engineering University of Southern California Los.
Human Computer Interaction Semester 1, 2013/2013.
Instructional Design Eyad Hakami. Instructional Design Instructional design is a systematic process by which educational materials are created, developed,
Ciarán O’Leary Wednesday, 23 rd September Ciarán O’Leary School of Computing, Dublin Institute of Technology, Kevin St Research Interests Distributed.
CS426 Game Programming II Dan Fleck. Why games?  While the ideas in this course are demonstrated programming games, they are useful in all parts of computer.
Software Engineering ‘The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and.
What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.
CS 160 Introduction to Computer Science Andrew Scholer
The Guide to the Software Engineering Body of Knowledge
Project MLExAI Machine Learning Experiences in AI Ingrid Russell, University.
BUSINESS INFORMATICS descriptors presentation Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST) Linkoping.
Learning outcomes for BUSINESS INFORMATCIS Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST)
Teaching an Object-Oriented Software Development Lifecycle in Undergraduate Software Engineering Education February 27, 2002 Professor Brian Blake Georgetown.
The Design and Implementation of a First Course in Computer Programming for Computing Majors, Non-Majors, and Industry Professionals within a Liberal Education.
SOFTWARE DESIGN.
Chapter 12 Evaluating Products, Processes, and Resources.
Information System Development Courses Figure: ISD Course Structure.
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
Illustrations and Answers for TDT4252 exam, June
Interactive Gameplay Design Game Design Document Mario Michaelides Lecture 5 (10am), Week /10/2005 The Game Design Document.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
Software Acquisition and Project Management Lesson I: Introduction.
Teaching Systems Analysis and Design in a Practical Way: A Collaborative Effort Between Computer Science and Business School by Ken Surendran-CS Chellappa.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
1 Principles of Information Technology Introduction to Software and Information Systems Copyright © Texas Education Agency, All rights reserved.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
CS 4620 Intelligent Systems. What we want to do today Course introductions Make sure you know the schedule for the next three weeks.
Lecture 1: Introduction – Graduation Projects Topics to Discuss in Lectures 1. Project Deliverables 2. Course grading 3. Project Concept Writing.
What Faculty Members Need to Know.  Created in response to parent/teacher agreement that entering freshman should be technologically literate  Given.
Software Engineering Lecture 10: System Engineering.
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Discussion of Course Syllabus Class will start momentarily. Please Stand By … CS 8532: Advanced.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad , Monday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Computer Vision COURSE OBJECTIVES: To introduce the student to computer vision algorithms, methods and concepts. EXPECTED OUTCOME: Get introduced to computer.
DT249/4 Information Systems Engineering Lecture 0
Software Requirements
Change to university degree accreditation incorporating employability:
Software Engineering Lecture 09 & 10.
CS 160 Introduction to Computer Science
Practical Software Engineering
Map of Human Computer Interaction
Human Computer Interaction Lecture 14 HCI in Software Process
Overview of BSSE at Rose-Hulman Institute of Technology
Presentation transcript:

Teaching Software Engineering Through Game Design Kajal ClaypoolMark Claypool UMass LowellWPI

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?

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

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

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?

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

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

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

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

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

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

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 …

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