Analysis of pair programming effectiveness in academic environment

Embed Size (px)

Citation preview

  • 7/29/2019 Analysis of pair programming effectiveness in academic environment

    1/7

    Vol 01, Issue 02, December 2012 International Journal of Web Technology

    http://iirpublications.com ISSN: 2278-2389

    Integrated Intelligent Research (IIR) 67

    ANALYSIS OFPAIR PROGRAMMING EFFECTIVENESS INACADEMIC ENVIRONMENT

    S. Sagayaraj1, M. Kavitha2and M. Poovizhi31& 3Department of Computer Science, Sacred Heart College, Tirupattur.

    2Vailankanni Matriculation Higher Secondary School, Hosur.

    [email protected], [email protected], [email protected]

    ABSTRACTMany experiments have been conducted on Pair Programming (PP) by constructing small-scaleprograms of a few hundred lines of code, using correctness, duration, and effort metrics. In this papera group of students were selected on basis of major group as Computer Science and non-major groupas Physics. Measurements were made on the basis of lines of code, creativity, presentation, time,number of variables used and efficiency. After gathering data the analyses were made with therequirements and plotted in graph to check their grade and statistic level between major and non-major group. Finally results are given such as major students possessed successive and non majorstudents possessed partially successive.

    1. INTRODUCTIONTraditionally, learning program is a solitaryactivity. PP renovates it into a collaborativelearning process. PP is a style of programmingin which two programmers work side-by-sideat one computer, continuously collaborating onthe same design, algorithm, code, or test [1].

    The name of the technique, PP can lead peopleto incorrectly assume that Software engineersonly pair during code development. PP allowspairing in all phases of the developmentprocess, in pair design, pair debugging, pairtesting, and so on[2]. Programmers could pairup at any time during development, inparticular when they are working on acomplex or unfamiliar problem.

    PP allows two students to utilize onecomputer, permitting a larger number ofstudents to be present in an individual roomfor lab sessions. PP has been extensivelystudied in academia and has been shown tohave numerous benefits for student learning.An early study of PP conducted at the

    University of Utah found that students whoused PP produced solutions of higher qualitythan the students who worked individually [1].Researchers also indicated that pair teamswere able to produce solutions more quicklythan individual programmers and that in thebest case; PP teams only required 15% moreprogrammer hours to produce a solution thanindividual programmers.

    In order to improve the study level to the mosthigher status through PP so that students whofind difficulty in learning alone, can gainknowledge and improve their learning powerand also their information about theireducational status. In most of the previousresearch works, the effectiveness of PP wasevaluated by measuring the characteristics ofthe products that were developed by theresearch participants. However, to prove thatPP is an effective learning methodology, theimprovements in individuals subjectknowledge and programming skills have to bemeasured.

    In section 2 explain the related work in PP,followed by the detailed presentation of PP inSection 3. Then, the implementation of soloand PP is presented in Section 4, followed by adetailed analysis of solo and PP is provided insection 5. The conclusion and the futureresearch avenues are discussed in Section 6.

    2 RELATED WORKSIn 2002 Dick et al performed an actionresearch on some professions for testing theability of PP based on their communication,comfortable, confidence and compromise. Theresult was four personality variables areposited as beneficial for PP [3].

  • 7/29/2019 Analysis of pair programming effectiveness in academic environment

    2/7

    Vol 01, Issue 02, December 2012 International Journal of Web Technology

    http://iirpublications.com ISSN: 2278-2389

    Integrated Intelligent Research (IIR) 68

    In 2003 Thomas did a survey based on PP withstudents self confidence level in this researchhe concluded that evidence that students whohave considerable self confidence do not enjoythe experience of PP as much as other studentsbut same students produced best result whenthey were placed in pairs with similarconfidence levels[3].

    In 2004 choi made a survey research based onPP with professionals and students in MBTI toprove the effectiveness of PP. The surveyasked professional programmers whichpredefined factors they thought mostinfluences PP and revealed that personality,communication and genders as the perceivedmost influential factors. The other predefinedfactors were programming skill, cognitiveprogramming style, familiarity, and pairprotocol [4].

    In 2006 Sftetsos et al performed an experimentwith the students using KTS tool and heobserved that better performance andcollaboration viability for pairs with mixedtemperament [5].

    In 2007 Domino et al executed an experimenton both Professional and Students to check theRandom effect on PP. At last he came to aconclusion such that PP was not effective tostudy the impact of PP on programming

    performance and user satisfaction [5, 15].

    In 2007 Canfora et al carried out anexperiment with an Engineer and Scientist onsome similar skill and experienced that PP ispartially effective on evaluating theperformances of pair designing in industry [6].

    In 2007 Arisholm et al presented anexperiment on "it depends" on both theprogrammer's expertise and the complexity ofthe system and tasks to be solved. Heconcluded that two heads are better than one,

    for achieving correctness on highly complexprogramming tasks in PP [7].

    In 2008 Bipp worked out with a group ofstudents. He reported that PP is effective onstudents and also it is efficient on them [8].

    In 2010 Hannay and Arisholm preformedRegression path analysis regression trees with

    the help of Professionals on Big five tools. Heobserved that PP is partial effective with Lowsupport of hypotheses. Other factors thanpersonality have greater impact [8].

    Comparing many research, variousexperiments that were carried out by variousauthors in PP made a conclusion that PP makethe students and professionals workingtogether shows best result in more effectivemanner.

    3. PAIR PROGRAMMINGStudents who pair in major group continue toout perform their non-pairing peers, evenwhen they begin working by themselves.

    Typically, non-major students are lessconfident in their abilities than major students,even when their actual levels of competenceare the same [9].This lack of confidence leadsnon major students to doubt their capabilities,question whether they belong, and frequentlyleads them to select other majors. The chiefgap in confidence is significantly reducedwhen the students perform PP [10, 11].Asnoted above, PP increases the retention rate incomputing-related majors for all students; thegap in retention rates is reduced when studentspair [12, 13].Students find PP enjoyable andbeneficial to their learning.

    This experiment was carried out with help of

    only under graduate students of computerscience major and physics students.Experiment was conducted on C language.Students selected as two groups from majorsubject in computer science and one group innon major subject in computer science(physics). First group of students in computerscience are above average students who areefficient in programming language. Secondgroup of students in computer science areaverage students in programming skill. In nonmajor group students are selected based onprogramming skill.

    Unfortunately student PP sessions usuallydiffer at least in some aspects fromprofessional PP sessions: The scope of the taska student setting is predefined by theresearcher and normally not a real world orvery complex task, because the students have alimited timeframe to solve the problem [14,15]. The advantage of a predefined task is that

  • 7/29/2019 Analysis of pair programming effectiveness in academic environment

    3/7

    Vol 01, Issue 02, December 2012 International Journal of Web Technology

    http://iirpublications.com ISSN: 2278-2389

    Integrated Intelligent Research (IIR) 69

    the researcher can comprehend and evaluatethe solution process of the students.4. IMPLEMENTATION

    There are many studies investigating studentpair programmers, most of the time in aquantitative manner in order to analyze thebenefits. Those studies compare the interactionbehavior in a professional environmentdependent on driver and observer roles,subtask and PP experience, but there is nocomparison between major group students andnon major group students with in pairprogrammers.

    4.1 Solo programmingThe students were provided with laboratorysection first solo performances were conductedfor major group students in computer science.Students are divided into two groups solo AGroup and solo B Group. In first session soloperformance of solo a group was conducted,they were given a set of program. Then theirperformance was recorded in different aspectssuch as lines of code, number of variablesused, efficiency, and time taken. Later twogroups of students are paired together toperform similar type of experiment, they wereprovided with identical question that are givenduring their solo performance. Aftercompleting their experiments the results wererecorded based on their listed skills such aslines of code, number of variables used,

    efficiency, and time taken.

    Finally non major groups of students (physics)performed equivalent task done by the majorstudents in computer science with similaraspects. Students were given a program toperform in pair after their execution resultswere recorded in different aspects such as linesof code, number of variables used, efficiency,and time taken.

    4.2 Pair programmingA formal PP experiment was run at laboratory

    to empirically assess the educational efficacyof the technique in a major and non majorgroup of students. Results indicate thatstudents who practice PP perform better onprogramming projects. Student pairs are moreself-sufficient which reduces their reliance onthe teaching staff. Qualitatively, pairedstudents demonstrate higher order thinkingskills than students who worked alone. These

    results are supportive of PP as a collaborativelearning technique.

    5. ANALYSISPP has numerous benefits ranging fromimprovements in the quality of student work toincreased rates in the retention of studentsmajoring in computer science and non-majoring in computer science.

    5.1 Solo PerformanceStudents have been split into two groups suchas solo-A and solo-B; first students were askedto perform given task as solo performance.During solo process their ability where rated indifferent aspects such as lines of code, numberof variables, efficiency and time. Studentsenjoyments, creativity power and other aspectswere also noted.

    Table 1 Group A Solo DataSl.No.

    Linesofcode

    No ofvariables

    Efficiency Time

    1. 12 2 3 8

    2 28 2 2 15

    3 2 2 3

    7 2 3 2

    25 8 3 7

    14 4 2 4

    7 18 4 2 4

    12 2 2 4

    14 2 2 4

    Table-1 provides the details about studentsperformances grade that have been observedand they have marked with the measurementssuch as Lines of code, Number of variables,Efficiency and time duration taken by eachstudents to complete their single task. Table-1values are plotted in graph Figure-1. The A-Group students had better knowledge inprogramming skill. X- Axis stands for theaspect of ability test Y- Axis stands for the rateof percentage. The plotted graph defines theperformance of the major students on thefollowing aspect such as Lines of code, No ofvariables, Efficiency, Time. The maximum

  • 7/29/2019 Analysis of pair programming effectiveness in academic environment

    4/7

    Vol 01, Issue 02, December 2012 International Journal of Web Technology

    http://iirpublications.com ISSN: 2278-2389

    Integrated Intelligent Research (IIR) 70

    Fig 1Group A Solo Datapercentage level of lines of code occurs by thestudent are 28%, no of variables used are 6%,their efficiency levels are up to 5% and finallytime they worked were 9%. They had betterworking capacity in solo performance.Students working individually have done their

    job in good manner. But they do not have any

    type of communication or discussion duringtheir coding period or execution time.

    Table 2Group B Solo DataSl.No.

    Linesofcode

    No ofvariable

    Efficiency Time

    1 2 5 3 16

    2 25 5 2 63 5 1 2 74 10 3 2 5

    5 7 1 3 26 10 2 3 67 9 3 2 108 2 4 2 15

    9 42 8 2 15

    Table-2 provides the details about studentsperformances grade that have been observedand they have marked with the measurementssuch as Lines of code, Number of variables,Efficiency and time duration taken by eachstudents to complete their single task. Table-2values are plotted in graph Figure-2.

    Fig - 2Group B Solo DataThe Figure-2 defines the performance of themajor students on the following aspects suchas Lines of code, No of variables, Efficiency,

    Time. The maximum percentage level of linesof code occurs by the student are 30%, no ofvariables used are 8%, their efficiency levelsare up to 4% and finally time they workedwere 10%. They had good working capacity insolo performance.

    Comparing these two result students does not

    show much difference in their results. Thegiven task was completed in time and theirlines of code; number of variables used andtime taken by each and every student does notvary much. They had good working capacityin solo performance. Students workingindividually have done their job in goodmanner. But they do not have any type ofcommunication or discussion during theircoding period or execution time. Also theyfaced little difficulty during writing code andalso in error rectification.

    5.3 Average of Solo A and Solo BAfter measuring the students performance insolo basis by giving each students with anindividual single task their averagemeasurements where marked in different table.

    05

    10

    15

    20

    25

    30

    1 2 3 4 5 6 7 8 9

    lines of code

    No of

    variables

    Efficiency

    Time

    0

    10

    20

    30

    40

    50

    1 2 3 4 5 6 7 8 9

    lines of code

    No of

    variables

    Efficiency

    Time

    Sl.No

    Group Lins ofcode

    No ofvariables

    Efficiency

    Time

    1 Solo A

    15 3 2 6

    2 Solo B

    23 5 2

  • 7/29/2019 Analysis of pair programming effectiveness in academic environment

    5/7

    Vol 01, Issue 02, December 2012 International Journal of Web Technology

    http://iirpublications.com ISSN: 2278-2389

    Integrated Intelligent Research (IIR) 71

    Table-3 defines the details about studentsperformances grade that have been observedand they have marked with the measurementssuch as Lines of code, Number of variables,Efficiency and time duration taken by eachstudents to complete their single task. Thistable values are plotted in graph Figure-3.X-Axis stands for the aspect of ability test Y-Axis stands forthe rate of percentage.

    Table-3 Average Data of solo A & B Group

    Fig -3Average data of group A & B Solo Data

    The Figure-3 defines the performance of themajor students on the following aspects suchas Lines of code, No of variables, Efficiency,

    Time. The maximum percentage level of linesof code occurs by the student are 19%, no ofvariables used are 4%, their efficiency levelsare up to 2% and finally time they workedwere 8%. They had good working capacity in

    solo performance. Average was taken betweenstudents of solo-A and solo-B to check theirability of working skills performingindividually. The results attained were positivethere wasnt much difference in their skills andother aspects of knowledge.

    5.4 Paired Performance of ComputerScienceStudents were joined together to perform asingle task, here solo-A students and solo-Bstudents are mingled and they were made assingle paired group. Here major students of A-

    Group are little more efficient compared withstudents of B-Group. After the task wascompleted successfully students performanceresults are noted. The values acquired aretabulated in Table-4.

    Table4Average performances in ComputerScience

    Lines ofcode

    No ofvariables

    Efficiency Time

    17 3 4 6

    Here they showed better result while comparedwith solo performance in the lines of code,number of variables used, time and efficiency.

    They enjoyed working with companions. Aswell as X- Axis stands for the aspect of abilitytest Y- Axis stands for the rate of percentage

    The maximum percentage level of lines ofcode occurs by the student are 17%, number ofvariables used are 3%, their efficiency levelsare up to 4% and finally time they workedwere 6%. They had better working capacity in

    pair performance compare to soloperformance.Whereas comparing results of paired studentswith solo-A and solo-B they show goodresults.

    Fig- 4 Paired performance of computerscience group

    While students are grouped as two to completea single task they had better experience indoing the task through discussing with eachother. They were measured in different aspectssuch as creativity power, involvement,enjoyment, and way of presenting the programalso main consideration was time durationtaken to complete a task given to them.

    5.5 Paired Performance of Physics

    Students were joined together to perform asingle task, here non major students of physicswere made as paired group. After groupingthem into pair each pair was given single taskto complete. After the task was completedsuccessfully students performance results arenoted. The values acquired are tabulated in

    Table-5.The Figure-4depicts efficiency of

    05

    10152025

    solo A

    solo B

    0

    20

    Paired data

    Paired data

  • 7/29/2019 Analysis of pair programming effectiveness in academic environment

    6/7

    Vol 01, Issue 02, December 2012 International Journal of Web Technology

    http://iirpublications.com ISSN: 2278-2389

    Integrated Intelligent Research (IIR) 72

    students when they are paired to performsingle task. X- Axis stands for the aspect ofability test Y- Axis stands for the rate ofpercentage

    Table 5 Paired performance of PhysicsSl.No

    Linesofcode

    No ofvariables

    Efficiency

    Time

    1 42 8 3 35

    2 40 8 2 303 3 3 224 3 2 155 36 7 2 20

    Fig - 5Paired Performances of Physics

    6.6 Comparison- Major and Non-MajorGroupsFinally test was conducted both groups tocheck their involvement and status inperforming program. The results weremeasured and marked in Table-6.

    The Table-6 and Figure-6provides the detailresults about the major and non majorstudents performance in PP.X- Axis standsfor the aspect of ability test Y- Axis stands forthe rate of percentage. Comparing the result ofboth, major students show better result ratherthan non major students, they are lacking backin all aspects that are observed during theirperformance.

    Table 6Comparison of Major & Non-MajorGroup data

    Sl.No

    Batch

    Linesofcode

    No ofvariables

    Efficiency

    Time

    1 C.S 17 3 4 6

    2 Physics

    38 7 3 25

    Results of both major group and non majorgroup students of computer science possessdifferent results. Comparing students of bothgroup major group students possess betterresults. Students of computer science had greatimpact on PP, their efficiency, creativity;learning skills are improved through this PP,while non major students do not have muchimpact on PP. Non major students took moretime to complete single task in pairing ratherin solo performance. Non major are lacking intheir efficiency and performance around 73%compared to major students performance.

    Fig- 6Comparisons of Major & Non-MajorGroup

    7. CONCLUSIONPair programmers produce higher quality codein about half the time when compared withsolo programmers. However, the researchersobserved educational benefits for the student

    pair programmers. These benefits includedsuperior results on graded assignments,increased satisfaction/reduced frustration fromthe students, increased confidence from thestudents on their Practicals result.PP showed best results in major studentscompared to non major students. A tool can bedeveloped in such a way that tool should bedeployed in systems to check the studentseffectiveness, efficiency, creativity power andother aspects on their own and define them interms and rates.

    REFERENCE[1] Baker, R. S., Corbett, A. T., Koedinger, K.R., and Wagner, A. Z. 2004. Off-taskbehavior in the cognitive tutor classroom:when students "game the system". InProceedings of the SIGCHI Conference onHuman Factors in Computing Systems(Vienna, Austria, April 24 - 29, 2004).CHI'04. ACM, NewYork,NY ,383-390.

    0

    10

    20

    30

    40

    50

    1 2 3 4 5

    lines of code

    No of

    variables

    Efficiency

    Time

    0

    10

    20

    30

    40

    c.s

    phy

  • 7/29/2019 Analysis of pair programming effectiveness in academic environment

    7/7

    Vol 01, Issue 02, December 2012 International Journal of Web Technology

    http://iirpublications.com ISSN: 2278-2389

    Integrated Intelligent Research (IIR) 73

    DOI=http://doi.acm.org/10.1145/985692.985741

    [2] A. Radermacher, G. Walia, O.Myronovych, S. Abufardeh, and R.Rummelt, Investigating the Use of PP atNorth Dakota State University: A Familyof Empirical Studies, Technical Report,

    The Department of Computer Science,North Dakota State University, 2010,http://cs.ndsu.edu/research/reports/

    [3] Williams, L. Introduction to PP,version2.http://www.youtube.com/watch?v=rG_U12uqRhE

    [4] Williams, L., Kessler, R., Cunningham,W., and Jeffries, R. Strengthening the casefor PP. IEEE Softw.,17(4):19-25, 2000.

    [5] Williams, L., Kessler, R.R., Cun-ningham,W., and Jeffries, R., Strengthening TheCase for PP, IEEE Software, 2000. 17(4):pp. 19 - 25.

    [6] Hannay, J o E.; Arisholm, Erik.; Engvik,Harald.; Sjberg, Dag I.K.(2010): Effectsof Personality on PP, IEEE

    TRANSACTIONS On SoftwareEngineering VOL. 36, NO. 1, JAN/FEB,pp 61-80.

    [7] Heiberg, S.; Puus, U.; Salumaa, P.;Seeba, A. (2003):PP effect on developersproductivity, Proc. XP 2003, ser. LectureNotes in Computer Science, vol. 2675,Springer Verlag, pp. 215224.

    [8] Katira, N.; Williams, L.; Wiebe, E.;Miller, C.; Balik, S.; Gehringer, E.(2004):On Understanding Compatibility ofStudent Pair Programmers, Proc. 35th

    Technical Symp. Computer ScienceEducation, pp. 7-11.

    [9] Layman, L. (2006): Changing StudentsPerceptions: An Analysis of theSupplementary Benefits of CollaborativeSoftware Development, Proc. 19th Conf.Software Eng. Education and Training.

    [10] Lui, K.M.;Chan, K.C.C. (2006): PPProductivity: NoviceNovice Vs.

    ExpertExpert,International Journal ofHuman- Computer Studies, 64, pp.915925.

    [11] Madeyski, L. (2007):On the effects ofPP on thoroughness and fault-findingeffectiveness of unit tests, Proc.PROFES,ser. Lecture Notes in ComputerScience, vol. 4589. Springer Verlag, pp.207221.

    [12] Madeyski, L.(2006): The impact of PPand test-driven development on packagedependencies in object-oriented designan experiment, Proc. PROFES, ser.Lecture Notes in Computer Science, vol.4034, Springer Verlag, pp. 278289.

    [13] Mu ller, M. M. (2006): A PreliminaryStudy on The Impact Of A Pair DesignPhase On PP And SoloProgramming,Information and Software

    Technology, 48, pp. 335344.[14] Mu ller, M. M. (2007): Do

    Programmer Pairs Make DifferentMistakes than Solo Programmers, The

    Journal of Systems and Software,80, pp.14601471.

    [15] Nawrocki, J.; Wojciechowski, J.A.(2001):Experimental evaluation of PP,Proc. European Software Control andMetrics Conference, pp. 269276.