Top Banner
Interac(ve Classroom Games for Teaching So7ware Engineering Yuriy Brun University of Massachuse@s, Amherst h@p://people.cs.umass.edu/brun
38

Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Dec 17, 2018

Download

Documents

nguyentuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Interac(ve*Classroom*Games**

for*Teaching*So7ware*Engineering*

Yuriy*Brun*

University*of*Massachuse@s,*Amherst*

h@p://people.cs.umass.edu/brun*

Page 2: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

warning*

This*talk*will*prac(ce*what*it*advocates*

•  The*next*hour*will*be*interac(ve*•  There*will*be*significant*audience*par(cipa(on*•  There*will*be*concrete*take*aways*for*improving*teaching*

Page 3: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

who*am*I?*

•  Yuriy*******************h@p://people.cs.umass.edu/brun**

•  3rdNyear*assistant*professor*at*UMass*Amherst*

•  I*teach:*–  Introduc(on*to*So7ware*Engineering*

•  senior*undergraduate,*“build*a*system”*from*scratch*class*

•  UMass*and*University*of*Washington*

– Advanced*So7ware*Engineering*•  graduate*+*senior*undergraduate*•  focus*on*program*analysis*techniques,*state*of*the*art*

Page 4: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

goals*of*SE*educa(on*

•  Convey*informa(on*to*students*

•  Have*students*retain*informa(on*

•  Have*students*learn*how*to*write*so7ware*– design*– group*work*– communica(on*(both*direct*and*indirect)*

•  Prepare*students*for*jobs*as*so7ware*developers*

Page 5: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

material*reten(on*

[1]*Na(onal*Training*Laboratories*(early*1960s)*Bethel,*ME,*USA*

Page 6: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

what*helps?*

•  Answering*ques(ons*in*class*improves*lagging*students’*test*scores*[2].*

*

•  Peer*teaching*improves*both*the*teaching*students’*and*learning*students’*informa(on*reten(on*[1].*

•  Top*students*perform*even*be@er*through*group*work*[3].*

[2]*M.*D.*Ernst*(2006)*The*Groupthink*specifica(on*

exercise.*In*So7ware*Engineering*Educa(on*in*the*

Modern*Age:*Challenges*and*Possibili(es.*

[3]*R.*J.*Beichner*et*al.*(2007)*The*StudentNCentered*

Ac(vi(es*for*Large*Enrollment*Undergraduate*

Programs*(SCALENUP)*Project.*

Page 7: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

How*do*we*integrate*these*

ac(vi(es*into*a*class?*

• group*work*• students*teaching*students*

• answering*ques(ons*• wan(ng*to*come*to*class*

Page 8: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

one*solu(on*

•  Center*the*class*en(rely*around*group*work*

•  Project*based*class*(e.g.,*CS*320*at*UMass)*

*

Students*form*groups*and*develop*a*so7ware*

system*from*scratch.***

•  customer*•  architecture*

•  documenta(on*•  presenta(ons*

•  conflicts*•  pressure*

Page 9: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

project*management*

•  creates*an*opportunity*for*an*advanced**“project*management”*class*

•  one*class*alumnus/alumna*managing*each*team*

•  provides*valuable*management*experience*

•  …and*valuable*management*help*to*the*professor*

Page 10: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Does*it*work?*

•  The*students*learn*by*doing*•  Mistakes*are*the*best*learning*experiences*

–  two*students*code*up*two*app*parts*without*designing*an*API,*and*the*parts*don’t*fit*together*

–  live*through*losing*code*w/o*version*control*and*you’ll*never*make*that*mistake*again*

•  But*learning*everything*though*mistakes*is*

frustra(ng*and*incomplete*

We*need*a*lecture*replacement*

Page 11: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

What*about*inNclass*assignments?*

•  Let’s*try*doing*homework*in*a*class*

Page 12: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

inNclass*assignments*

•  breaks*up*monotonic*lecturing*

•  makes*asking*ques(ons*natural*

•  make*par(cipa(on*natural*

•  students*love*it*

•  does*not*make*group*work*natural*

•  can*become*repe((ve*

•  hard*to*synchronize*students*

Page 13: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

fun*inNclass*learning*ac(vi(es*

h@p://www.controlalthack.com****$35*on*Amazon*

Page 14: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

controlNaltNhack*

Page 15: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

controlNaltNhack*experience*

•  Students*like*it*•  It’s*great*team*building,*early*in*the**

project*team*bonding*

•  Students*likely*don’t*learn*that*much*about*

so7ware*and*even*security*

T.*Denning*et*al.*(2013)*ControlNAltNHack:*The*Design*and*Evalua(on*of*a*Card*Game*for*Computer*

Security*Awareness*and*Educa(on.*ACM*Conference*on*Computer*and*Communica(ons*Security.*

Page 16: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

What*about*deeper,*fun*learning?*

•  We*want*inNclass*ac(vi(es*that:*

–  teach*so7ware*engineering*concepts*– are*fun*– encourage*group*work*– encourage*peer*teaching*

Page 17: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Three*example*ac(vi(es*

•  Groupthink*specifica(on*exercise*•  Pair*programming*collabora(on*exercise*

•  SimSE*so7ware*process*simula(on*game*

•  Great*inNclass*ac(vi(es*designed*by*top*SE*educators*

•  Packaged*for*and*reusable*by*everyone*

Page 18: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Groupthink*

Teaches:*

•  importance*of*communica(on*

•  importance*of*documenta(on*

•  importance*of*planning*

•  importance*of*being*on*the*same*page*

*Original*design*by*Michael*Ernst*&*John*Chapin*

M.*D.*Ernst*(2006)*The*Groupthink*specifica(on*exercise.*In*So7ware*

Engineering*Educa(on*in*the*Modern*Age:*Challenges*and*Possibili(es.*

Page 19: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Groupthink*

1. A*short*lecture*on*the*importance*of*specifica(ons*

2. Descrip(on*of*the*game*

3. Students,*in*groups,*design*a*simple*phone*system*

4. Students*answer*ques(ons,*get*points,*win*prizes!*

*Original*design*by*Michael*Ernst*&*John*Chapin*

Page 20: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Specifica(ons*tell*you*what*to*do*

**** **(but*not*how*to*do*it)*

*

•  It’s*difficult*to*create*a*specifica(on*that*is*

– complete*

– consistent*– precise*– concise*

Page 21: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Specifica(ons*ma@er*

•  A*specifica(on:*–  connects*customer*and*engineer*

–  ensures*parts*of*implementa(on*work*together*

–  defines*correctness*of*implementa(on*

•  Therefore*everyone*must*understand*specs*– Designers,*implementers,*testers,*managers,*marke(ng,*technical*support,*...*users!*

•  Good*specifica(ons*are*essen(al*

Page 22: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Groupthink*game*

As*a*group,*specify*behavior*of*a*desktop*telephone*

*

Individually,*answer*ques(ons*about*its*behavior*

*

Goal:**all*group*members*give*same*answer*

*

The*winning*group*receives*a*prize*

Page 23: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Desktop*telephone*

Handset*(speaker*and*microphone)*Keypad*

talk redial ansmachine end

24Ncharacter*display*

Answering*machine*

Phone*jack*

Page 24: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Requirements*

Display*indicates*current*func(onality*

– caller*ID*– number*being*called*

– "Answering*machine"*

– "Ready"*Answering*machine*picks*up*a7er*2*rings*

*

You*decide*other*aspects*of*system*behavior*

Page 25: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Defini(ons*

Lineidle:**phone*is*onNhook*("hung*up")*

– sent*from*phone*to*phoneline*

Lineac(ve:**phone*is*offNhook*("picked*up")*

– sent*from*phone*to*phoneline*

Ring*signal:**causes*phone*to*ring*once*

– sent*from*phoneline*to*phone*

Page 26: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

System*architecture*

**

Display

Keypad

Phoneline interface

(phone co.)

Speaker/ microphoneController

Answering machine

startAnswerstartReviewstop

lineactivelineidletones(str)

audioON audioOFFtalk(str)redialansmachineend

displa

y(str)

incoming(str)hangup

ring

audi

o bu

s (c

oppe

r wire

)

ansON

ansOFF

lineON lineOFF

Page 27: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Sample*ques(on*

The*user*is*connected*to*an*outside*party.**The*

outside*party*hangs*up.**What*state*is*the*

phoneline*in?*

*A.**The*user*hears*a*dialtone*

*B.**The*user*does*not*hear*dialtone*

Question 0

Page 28: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Wrap*up*

•  We*discuss*what*we*learned*

•  What*strategies*worked*

– wri(ng*things*down*– making*fast*decisions*

•  What*didn’t*work*

– one*person*doing*all*the*work*– complex*designs*

–  long*discussions*

take*away:*without*planning*and*a*specifica(on,*

the*project*will*fail*

Page 29: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

pair*programming*exercise*

•  4Nperson*groups*designing*small*systems*

quickly*

•  First,*design*individually*and*the*combine*

•  Second,*design*in*pairs,*and*combine*

•  Third,*design*in*pairs,*periodically*switching*partners**

*Original*design*by*Laurie*Williams,*Lucas*Layman*

Page 30: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Collaboration Exercise

Laurie Williams, Lucas Layman

North Carolina State University

[email protected]

This exercise is copyrighted by Laurie Williams and Lucas Layman (2007). However, you are encouraged to download, forward, copy, print, or distribute it, provided you do so in its entirety (including this notice) and do not sell or otherwise exploit it for commercial purposes.

Page 31: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

A Transportation Device

!  Each person designs a transportation device. It needs to be able to:

!  Transport people between 1 and 10 miles per hour !  Stop on demand !  Carry at least one person !  Restrain at least one person (so they don�t fall out) !  Look nice

!  Draw your transportation device. Work alone! Don�t look at your neighbor�s paper! No collaboration! No talking!

Page 32: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Integration

!  What time did you wake up this morning? Provide a rank order from earliest to latest.

!  1: Braking system !  2: Restraint system !  3: Propulsion system !  4: Appearance

!  Integrate!!

Page 33: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

!  Each group writes the plot for next summer’s movie hit. It needs to have:

!  A love interest between well-known movie stars !  Attraction for the 18-45 age bracket !  Explosions. Lots of explosions !  A significant plot twist

!  Work in pairs. !  Decide who is pair 1 and who is pair 2. !  Integrate…

!  Pair 1’s: Movie stars and Explosions !  Pair 2’s: Romantic storyline and Plot twist

A Movie Script

Page 34: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Robotic classroom assistant !  Each group designs the features for a robotic

classroom assistant. The system must: !  Person 1: Monitor the number of people in the room !  Person 2: Have a mechanism the instructor can use to get

the students� attention !  Person 3: Make it possible to communicate materials

between instructor and student !  Person 4: Have an interesting, marketable name

!  Pair: 1 and 2; 3 and 4 !  Pair: 1 and 3; 2 and 4 !  Pair: 1 and 4; 2 and 3 !  Individually: draw and name the product.

!  No talking "

!  Integrate!

Page 35: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

pair*programming*teaches*

Importance*of*

•  constant*communica(on*

•  involving*everyone*•  integra(on*•  design*

How*to*work*in*pairs*on*tasks*most*students*have*done*individually*before.*

Page 36: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

SimSE*

•  Simulate*a*team*working*on*a*so7ware*

project*

•  Compare*and*experiment*with*process*models*

– waterfall*– spiral*– extreme*programming*

– etc.*

E.*O.*Navarro*and*A.*van*der*Hoek*(2007)*Comprehensive*evalua(on*of*an*educa(onal*so7ware*

engineering*simula(on*environment.*Conference*on*So7ware*Engineering*Educa(on*and*Training.*

*Original*design*by*Emily*Navarro*and*André*van*der*Hoek*

Page 37: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

SimSE*

h@ps://www.ics.uci.edu/~emilyo/SimSE**

Page 38: Interac(ve*Classroom*Games** for*Teaching*So7ware*Engineering* · Each group writes the plot for next summer’s movie hit. It needs to have: ! A love interest between well-known

Summary*

•  Lecturing:*one*of*the*least*effec(ve*ways*to*teach*Instead:*

•  group*work*•  make*students*teach*each*other*

•  fun*inNclass*ac(vi(es*•  skills*relevant*to*industrial*development*

•  borrow*from*others’*great*work!*