Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

15
Adapting Cooperative Learning to Teach Software Architecture in Multiple- Role Teams Steve Chenoweth, Mark Ardis and Cheryl Dugas

description

Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams. Steve Chenoweth, Mark Ardis and Cheryl Dugas. Outline. Challenges teaching software architecture Cooperative learning Experience at Rose-Hulman and RIT. Easy to Maintain. Easy to Use. Easy to Develop. - PowerPoint PPT Presentation

Transcript of Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

Page 1: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

Adapting Cooperative Learning to Teach Software

Architecture in Multiple-Role Teams

Steve Chenoweth, Mark Ardis and Cheryl Dugas

Page 2: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

2

Outline

• Challenges teaching software architecture

• Cooperative learning• Experience at Rose-Hulman and

RIT

Page 3: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

3

Architect in the Middle

Maintainer Easy toMaintain

User Easy toUse

Developer Easy toDevelop

Customer Cheap toBuild

Architect

Page 4: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

4

Cooperative Learning

• Small teams of students• Positive interdependence• Face-to-face interaction• Individual accountability and

personal responsibility• Interpersonal and small-group

skills• Group processing

Page 5: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

5

Course at Rose-Hulman

• Junior-level course in Software Architecture and Design for BSSE

• Students:– Invented projects– Designed architecture– Implemented skeleton of system

Page 6: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

6

Small Teams

Sally SarahSam

Alan Alex Alice

Mark MaxMaryMaggie

Ben BethBertBecky

Page 7: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

7

Projects - Teams of Teams

P1:

P2:

P3:

P4:

Customer

Customer

Customer

Customer

Architect

Architect

Architect

Architect

Developer

Developer

Developer

Developer

Page 8: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

8

Meetings - 1st 20 min

Customer

Ben

Customer

Beth

Customer

Becky

Architect

Mark

Architect

Mary

Architect

Max

Architect

Sam

Architect

Sally

Architect

Sarah

Customer

Alan

Customer

Alex

Customer

Alice

Page 9: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

9

Meetings - 2nd 20 min

Architect

Ben

Architect

Beth

Architect

Becky

Customer

Mark

Customer

Mary

Customer

Max

Customer

Sam

Customer

Sally

Customer

Sarah

Architect

Alan

Architect

Alex

Architect

Alice

Page 10: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

10

Course at RIT

• Senior-level course in Software Architecture for BSSE

• Students:– Invented projects– Designed architecture

• Special meeting rooms used

Page 11: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

11

RIT Meetings - 1st 15 MinutesRoom 1 Room 2

Customer

Ben

Customer

BethDeveloper

Bert

Developer

Becky

Architect

Mark

Architect

Mary

Architect

Max

Architect

Maggie

Page 12: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

12

RIT Meetings - 2nd 15 MinutesRoom 1 Room 2

Architect

Ben

Architect

Beth Architect

Bert

Architect

Becky

Customer

Mark

Customer

Mary

Developer

Max

Developer

Maggie

Page 13: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

13

RIT Meetings - 3rd 15 MinutesRoom 1 Room 2

Architect

Ben

Architect

Beth

Architect

Bert

Architect

Becky

Architect

Mark

Architect

Mary

Architect

Max

Architect

Maggie

Page 14: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

14

Results

• Role playing is essential for software architecture courses

• Cooperative learning is effective at individual and team levels

• Participation on multiple projects is important

Page 15: Adapting Cooperative Learning to Teach Software Architecture in Multiple-Role Teams

15

Slides Available

http://www.se.rit.edu/~ardis/pubs.html