pair programming for jett
DESCRIPTION
Pair Programming for JETT. Linda L. Werner, Ph.D. University of California, Santa Cruz. Who is learning more?. p < .05. Pair Programming in CS1. p < .001. p < .005. p < .05. p < .05. p < .05. p < .05. p < .005. - PowerPoint PPT PresentationTRANSCRIPT
1 ACM/JETT Workshop - August 4-5, 2005
Pair Programming for JETT
Linda L. Werner, Ph.D.
University of California, Santa Cruz
2 ACM/JETT Workshop - August 4-5, 2005
Who is learning more?
3 ACM/JETT Workshop - August 4-5, 2005
4 ACM/JETT Workshop - August 4-5, 2005
5 ACM/JETT Workshop - August 4-5, 2005
Pair Programming in CS1
0%
10%
20%30%
40%
50%
60%70%
80%
90%
Passed AttemptedCS2
Passed CS21st Attempt
CS/CEMajor 1yr
later
All Pairs
All Solo
Fem Pairs
Fem Solo
Male Pairs
Male Solo
p < .05p < .05 p < .05
p < .005
p < .05
p < .001 p < .005
p < .05
Statistically significant differences are indicated with relevant 2 p values.
6 ACM/JETT Workshop - August 4-5, 2005
Experienced and Inexperienced
Programmers Tend to
• be initially resistant to pair programming
• find it very beneficial and enjoyable after initial period
7 ACM/JETT Workshop - August 4-5, 2005
Why Useful for Teachers?
• Half of the programs to grade
• Less questions from students
• Students learn more
• Happier students
8 ACM/JETT Workshop - August 4-5, 2005
Collaboration • Not divide and conquer – not just
cooperation
• Driver – uses mouse and keyboard
• Navigator – continuous review
• “Given enough eyeballs, all bugs are shallow.1”
• Both point at screen
1. E.S. Raymond, The Cathedral and the Bazaar. 2000.
9 ACM/JETT Workshop - August 4-5, 2005
Overcome Initial Resistance
• Small participation score based on survey in place at UCI www.ics.uci.edu/~kay/courses/i41/hw/paireval.txt
• Document violation of guidelines
10 ACM/JETT Workshop - August 4-5, 2005
Laboratory Set Up
• Provide sufficient space for pairs
• Large monitor – 17 inch minimum
• Driver in front of monitor
• Navigator has clear view
• Switch means slide keyboard and mouse OR get high-5’s and switch chairs
• collaboration.csc.ncsu.edu/laurie/LCSD.htm
11 ACM/JETT Workshop - August 4-5, 2005
Partner Selection
• Partner buy-in critical• Partners assigned based on preference list• With no-shows, reassignments made• Minimal three person groups allowed• Everyone wins• Pair somewhat by skill• Pair by gender – perhaps because of
GIVE vs. TAKE protocols (9-13 year olds)
12 ACM/JETT Workshop - August 4-5, 2005
Preparation Activities
• Read ‘Kindergarten’ paper by Williams and Kessler collaboration.csc.ncsu.edu/laurie/Papers/Kindergarten.PDF
• Participate in PairDraw exercise www.industriallogic.com/games/pairdraw.html
• View two scripts and create rules posterwww.cse.ucsc.edu/~charlie/projects/
pairprogramming/CATE.pdf
13 ACM/JETT Workshop - August 4-5, 2005
Guidelines for Students
• Work together as much as possible
• Work no more than 25% solo OR flush
• Review line-by-line work done solo
• Spend equal time in each role
• Alternate roles every 30 min. or less
• Spend at most 15 min. ‘cleaning up’ solo
14 ACM/JETT Workshop - August 4-5, 2005
Pair Programming Not Working?
• Partners complete program together but violate one of 6 guidelines
• Partners begin working together but cannot finish it together
• Pair never gets together
• Pair gets together but it doesn’t work (hogging or unprepared)
15 ACM/JETT Workshop - August 4-5, 2005
What to do?
• Always document partner problem in log
• If partner fails to show up - Email partner and cc instructor
• If partner comes unprepared – talk to instructor
• If partner is hogging – talk to instructor
16 ACM/JETT Workshop - August 4-5, 2005
What Do You Do if Your Partner Doesn’t Show Up, You Complete the Program, and Your Partner
Hasn’t Yet Completed it?
• Each completes and submits as solo - ‘Pair Split’ OR
• Scrap solution & work paired - ‘Flush’ OR
• Partner works alone and then …
17 ACM/JETT Workshop - August 4-5, 2005
What Do You Do if You Complete Program Solo and
Partner Completes Solo?
• Each submits solo -‘Pair Split’ OR
• Scrap both and redo paired - ‘Flush’ OR
• Combine into one, reviewing carefully
18 ACM/JETT Workshop - August 4-5, 2005
What Do You Do if You Work Solo But Don’t Complete?
• Meet later as pair and complete as long as solo time is <= 25% total time OR
• ‘Flush’ and rewrite with partner OR ‘pair split’
19 ACM/JETT Workshop - August 4-5, 2005
Scenario – you spend 2 hours solo but don’t finish. Tomorrow partner shows, you spend < 1 hour and
finish. What do you do?
• ‘Flush’ and rewrite OR
• Add new code and spend 8 hours total OR
• Turn in and document reason OR
• Lie, get caught, and be disciplined
20 ACM/JETT Workshop - August 4-5, 2005
Pair Split
• You spent time working together
• You do not finish together – therefore partner’s name cannot be co-author
• Include comment as follows:
• “I spent 3 hours working with my previous partner, Joe Programmer. I spent another 1 hour finishing up alone.”
21 ACM/JETT Workshop - August 4-5, 2005
Resources on policy/guidelines
• “Everything I Really Know about Pair Programming I Learned in
Kindergarten” collaboration.csc.ncsu.edu/laurie/Papers/Kindergarten.PDF • “PairDraw” www.industriallogic.com/games/pairdraw.html • UCSC grading and programming guidelines
www.cse.ucsc.edu/classes/cmps012a/Fall04/hw/pairProgramming.html
• UCSC TA suggested guidelines www.cse.ucsc.edu/~charlie/pubs/cseet2002.pdf
• Scripts for good vs. bad pair programming www.cse.ucsc.edu/~charlie/projects/pairprogramming/CATE.pdf
• UCI survey used to grade pair programming www.ics.uci.edu/~kay/courses/i41/hw/paireval.txt
• Laboratory set up collaboration.csc.ncsu.edu/laurie/LCSD.htm
22 ACM/JETT Workshop - August 4-5, 2005
Research• Computing Research News article 2005 “Want to
Increase Retention of Your Female Students?” www.cra.org/CRN/articles/march05/werner.html
• ACM Journal of Educational Resouces in Computing published 2005 “Female Computer Science Students Who Pair Program Persist” www.cse.ucsc.edu/~charlie/pubs/jeric2005.pdf
• ITiSCE 2004 “Program Quality with Pair Programming in CS1” www.cse.ucsc.edu/~charlie/pubs/iticse04.pdf
• ICSE 2003 “The Impact of Pair Programming on Student Performance, Perception, and Persistence” www.cse.ucsc.edu/~charlie/pubs/icse2003.pdf
• Link to most of the pair programming research at UCSC www.soe.ucsc.edu/~charlie/projects/pairprogramming
23 ACM/JETT Workshop - August 4-5, 2005
THANKS TO: Charlie McDowell, Heather Bullock, Julian Fernald, Jennifer Bevan (UCSC), Brian Hanks (Fort Lewis College), Jill Denner, Steve Bean, Shannon Campe (ETR), Michael Burke, Vladimir Drobot (SJSU), Susan Nerton, Ed Parrish (Cabrillo College), students at UCSC, SJSU, Cabrillo College, and New Brighton Middle School
24 ACM/JETT Workshop - August 4-5, 2005
This work was funded by National Science Foundation grants EIA-
0089989 and DUE-0341276. Any opinions, findings, and conclusions or recommendations expressed in this paper are those of the authors and do not necessarily reflect the
views of the National Science Foundation.
25 ACM/JETT Workshop - August 4-5, 2005
Who is learning more?