dB-SERC Mentor-Mentee Evidence-Based Teaching...

15
dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee William C. Garrison III

Transcript of dB-SERC Mentor-Mentee Evidence-Based Teaching...

Page 1: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

dB-SERCMentor-MenteeEvidence-BasedTeachingAward

AdamJ.LeeWilliamC.GarrisonIII

Page 2: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

Designingandbuildingsecuresystemsishard!

2

“TheblackartofprogrammingSatan’scomputer”[1]

Longstandingdesigns andimplementations havebeenproveninsecure:

Needham-SchroederMan-in-the-middlediscovered

after17yearsinuse

OpenSSLHeartbleed vulnerabilitydiscovered

2yearsafterintroduced

Formalverificationisverydifficult,evenforexperiencedsoftwareengineers!

Page 3: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

CS1653teachessecurityengineeringwithafocusonasemester-longgroupproject

3

CS1653:AppliedCryptographyandNetworkSecurity

Lecturespresentalgorithmsandprotocols,studentsapplytheseinaninterleavedsemesterproject

Inthisproject,studentsmust:• Workingroupsforthefullsemester• Proposetheirownsolutionstoadversarialtasks• Develop,maintain,andextendanon-trivialcodebase(~5klines)

Requiresbothdesign andcoding!

Page 4: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

AsummaryoftheCS1653semesterproject

4

Studentsdevelopasecuredistributedfile-sharingsystem

Fivephases,eachconsideringadditionalsecuritythreats

Studentsmeetwithinstructortoproposesolutions,demowithTAaftersubmission

!"#$%&'

()*+,'-$).$)' /#"$'-$).$)'0'

/#"$'-$).$)'!'

!"

!"

!"

12%23$'/#"$4'

5+&6$%782&$'2%9'

12%23$'()*+,4'

Page 5: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

Eventhebeststudentsrunintoproblemswiththisproject…

5

Themostcommonproblems:• Unevendistributionofwork• Lackofcommunicationamonggroupmembers• Procrastination,submittinglast-minute• Jugglingdesignandcode• Rushingthroughcode• Combiningcodewrittenbymultiplegroupmembers• Designandcodenotmatching,evolvingout-of-sync

Canusingaversioncontrolsystemhelpmitigatetheseissues?

Page 6: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

Whydevelopcodeusingaversioncontrolsystem?

6

InaVCS,anychangetoacodebaseiscalledacommit

TheVCSmaintainsahistory of

previouscommitswithdescriptions

u1

u2u1

u2

mrgAcommitisrelative,toeasethemerging

ofworkfrommultipleusers

Commitlogsaretimeseriesdescribingdevelopmentatafinegranularity,andhavebeenusedforavarietyofexperiments:

• AdoptionofnewAPIsdoesnotkeeppacewiththeirdevelopment[2]• Programminglanguagedesignhasamodesteffectoncodequality[3]• Genderandtenurediversityarepositivepredictorsofproductivity[4]• Functionswithassertshavesignificantlyfewerdefects[5]• AskingquestionsonQ&Asitescatalyzesdevelopment(andviceversa)[6]

Page 7: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

HowcanusingaVCSimprovetheCS1653projectforourstudents?

7

Stayorganized:studentsreviewtheirchangeswhencommitting

Commitlogsimprovecommunication:seewhatyourgroupmates havecompleted

Muchsimplermerging whenworkingsimultaneously:nomoreemailingcodeandmanuallycombining!

Continuoussubmission:workuntilthedeadline,committingasyougo

Whataboutusinganalytics?

Page 8: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

VCSanalyticstoimprovethecourseproject

8

High-levelgoal:improvegroupperformance…how?

Duringthesemester• Useanalyticstodetectproblemsingroups• Allowtheinstructortointerveneasneeded

Betweensemesters• Useanalyticstodiscoverwhatmakessomegroupsmoresuccessful• Adjustcoursetoencouragebehaviorseen instronggroups

WecollecteddatafromSpring2015offeringofthecourse,andappliedthelessonslearnedtoSpring2016

• 2154:33students,14groups,4projectphases• 2164:33students,12groups,5projectphases

Page 9: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

Whatanalyticscorrelatedwithgroupperformance?

9

Distributionoflabor

Per-weekworkcompleted

Others:Goodcommitmessages,workingondocumentationearly

Page 10: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

ForSpring2016,ourchangeswereprimarilyinterventionary

10

Duringofficehoursmeetings,checkedlogsforindicators:• Earlyworkondocumentation• Balanceofcommitspermember• Descriptivecommitmessages

Whenconfrontedwithconcerns,studentshadarangeofresponses:

• Expressedregret,admittedtheyneededtoimprove• Defendedtheirgroupmates• Explainedspecialcircumstances

• “Johncouldn't commit,sochangeswentthroughme”• “Wemetatmyplaceandpair-programmed”

Inbetweenphases,offeredhelpmanaginggroupwork,etc.

Page 11: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

Overall,studentsseemedto“bounceback”moresuccessfully

11

40

50

60

70

80

90

100

30 40 50 60 70 80

Gradeonnextprojectphaseafteragradeof80or below

Term2154 Term21640

10

20

30

40

50

60

70

80

90

100

MEAN MEDIAN

Gradeonnextprojectphaseafteragradeof80orbelow

Term2154 Term2164

Page 12: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

Overall,studentsseemedto“bounceback”moresuccessfully

12

0

10

20

30

MEAN MEDIAN

Gradeincreaseonnextprojectphaseafteragradeof80orbelow

Term2154 Term2164

-10

0

10

20

30

40

50

30 40 50 60 70 80

Gradeincreaseonnextprojectphaseafteragradeof80or below

Term2154 Term2164

Page 13: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

Projectgradesoverthecourseoftheterm

13

35

45

55

65

75

85

95

105

P1 P2 P3 P4 P5

2154GradesbyPhase

35

45

55

65

75

85

95

105

P1 P2 P3 P4 P5

2164GradesbyPhase

Page 14: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

Futureimprovementstobemadeusingthesetechniques

14

Phase1seemedtobeharderduetoversioncontrol• HoldoffuntilPhase2?• ShorterassignmenttogetusedtoVC?• Grademoreleniently?

Phase3isstillthehardestoverall• Closertrackingofrepositories,evenoutsideofmeetings?• Givemoreguidance,leavelaterphasesmoreopen-ended?• Shorten,movesomematerialtoPhase4?

Outliergroupsneverrecover• Offermorepointedguidance?• Detectthistypeofgroup,breakupearly?

Page 15: dB-SERC Mentor-Mentee Evidence-Based Teaching Awarddbserc.pitt.edu/sites/default/files/dB-SERC_garrison-lee.pdf · dB-SERC Mentor-Mentee Evidence-Based Teaching Award Adam J. Lee

Questions?

15

References:1. RossJ.Anderson andRogerM.Needham,“Programming Satan’sComputer,” In

ComputerScienceToday:RecentTrendsandDevelopments,1995.2. TylerMcDonnell, Baishakhi Ray,Miryung Kim:AnEmpiricalStudyofAPIStability

andAdoption intheAndroid Ecosystem.ICSM2013:70-793. Baishakhi Ray,DarylPosnett,VladimirFilkov,Premkumar T.Devanbu:Alarge

scalestudyofprogramming languagesandcodequalityingithub.SIGSOFTFSE2014:155-165

4. Bogdan Vasilescu,DarylPosnett,Baishakhi Ray,MarkG.J.vandenBrand,AlexanderSerebrenik, Premkumar T.Devanbu,VladimirFilkov:GenderandTenureDiversityinGitHub Teams.CHI2015:3789-3798

5. Casalnuovo Casey,Devanbu Prem,OliveiraAbilio,Filkov Vladimir,andBaishakhiRay:AssertUseinGitHub Projects.ICSE2015

6. Bogdan Vasilescu,VladimirFilkov,AlexanderSerebrenik:StackOverflow andGitHub:AssociationsbetweenSoftwareDevelopment andCrowdsourcedKnowledge.SocialCom 2013:188-195

Thank you!