pair programming (PP) can help improve students’ computational thinking (CT), but the trajectory of CT skills and the differences between high-scoring and low-scoring students in PP are unknown and need further explo...
详细信息
A set of industry-inspired pair programming guidelines have been derived from qualitative examinations of expert pairs in order to aid novice programmers with their intra-pair communication. This research describes th...
详细信息
ISBN:
(纸本)9781450326056
A set of industry-inspired pair programming guidelines have been derived from qualitative examinations of expert pairs in order to aid novice programmers with their intra-pair communication. This research describes the evaluation of these guidelines with a set of student pairs, and demonstrates how novice pairs who were exposed to the guidelines were more comfortable communicating within their pairs.
pair programming has often been reported to be beneficial in software projects. To better understand where these benefits come from we evaluate the aspect of intra-pair communication. Under the assumption that the ben...
详细信息
ISBN:
(纸本)9783642130533
pair programming has often been reported to be beneficial in software projects. To better understand where these benefits come from we evaluate the aspect of intra-pair communication. Under the assumption that the benefits stem from the information being exchanged, it is important to analyze the types of information being communicated. Based on the Goal Question Metric method we derive a set of relevant metrics and apply them in an eXtreme programming class room project. Data covering a total of 22.9 hours of intra-pair communication was collected. We found that only 7% of the conversations were off-topic (e.g. private), 11% about requirements, 14% about design, and 68% about implementation details (e.g. syntax). Accordingly, a great share of the information being exchanged in pair programming is on a low level of abstraction. These results represent a first data point on what kind of information is communicated to what extent during pair programming.
Although pair programming has been studied since the late 1990s, it is only recently that the results of earlier studies are being fine-tuned. For example, the results of a 2007 stud), conducted in Europe suggests tha...
详细信息
ISBN:
(纸本)9780769539096
Although pair programming has been studied since the late 1990s, it is only recently that the results of earlier studies are being fine-tuned. For example, the results of a 2007 stud), conducted in Europe suggests that although pair programming might not always increase software quality, it can do so when the software being built is relatively complex and junior developers are on the team. This paper describes two experiments involving the development of small systems (10,000 to less than 100,000 lines of code) and very small programs (less than 10,000 lines of code) by student programmers in an Asian university. The results involving the small systems, which were actually complete systems designed to support the Personal Software Process (PSP), showed that defect densities of systems written by the pair programming teams were significantly lower than those written by the teams that used the traditional approach of individual coding and testing of units, followed by integration testing. On the other hand, results involving the very small (and therefore much less complex) programs did not show any significant differences between the defect densities of the programs written by the pair programmers and of those written by the solo programmers, though they did show significantly greater productivity of the solo programmers when writing simpler code. The combined results of the two experiments suggest that pair programming might increase software quality without decreasing productivity when projects are sufficiently large (or complex) for the programmers working on them.
Recent education roles encourage willingness to learn individually, solve unfamiliar problems using knowledge acquired through information and communication technologies (ICTs), and collaborate with others. Various le...
详细信息
ISBN:
(纸本)9789868473577
Recent education roles encourage willingness to learn individually, solve unfamiliar problems using knowledge acquired through information and communication technologies (ICTs), and collaborate with others. Various learning methods to cultivate this ability have been invented and researchers discussed learning effect on such methods with qualitative and quantitative analyses. One of the authors introduced pair programming as a method of peer learning and flip teaching, which consists of preliminary learning of basic programming and advanced learning practices based on peer activity in classroom lessons, into computer simulation practices for undergraduate students. With introducing class schedule design for flip teaching and development of peer learning preparation support system for determining the appropriate pair formation and seat allocation in the classroom utilizing a probabilistic combinatorial optimization algorithm, this study focuses on learning behavior of well-performing students, analyzing learning records and access logs on a learning management system and answers to a questionnaire administered after the practices. In this analysis, we attempted to discriminate behavior of well-performing students observed from the learning records, access logs, and questionnaire to discover best practices for improving the performance of medium to bottom-line students. Well-performing students tended to prepare for classroom lessons in good time, but their performance depended on the lesson content difficulty. A correlation was observed between the frequency of interaction among students and skill acquisition. We discuss how to improve learning environments using ICTs and collaborative learning methods based on the analysis.
Collaborative learning has demonstrated benefits for girls in computer science [7] and this may be a way to help address the gender gap in CS. Research indicates that while collaborating, boys often express more indiv...
详细信息
ISBN:
(纸本)9781450370929
Collaborative learning has demonstrated benefits for girls in computer science [7] and this may be a way to help address the gender gap in CS. Research indicates that while collaborating, boys often express more individualistic ideas whereas girls tend to be more supportive [1]. It is important for students to regulate their learning in collaborative learning environments because they need to negotiate group goals and diverse approaches to the task [3], and the use of open-ended tasks with multiple solution paths are common [4]. There is minimal research in CS education on regulation of learning (e.g., [5,6,]). Co-regulated learning is the process in which an other helps regulate the learning of a student [2] self such as by asking questions that prompt the student to monitor and evaluate (e.g., "What do you already know about 'if' blocks that would help here?''). In this way, thinking and reasoning through the problem is shared by the group members [2] *** work lies in the context of upper elementary students pair programming. We investigated how four 5th grade dyads differentially regulated their learning and explored the co-occurrence of students' coded discourse by gender. Initial findings indicate that boys monitored their learning and engaged in individualistic, disagreement, and collaborative-coded statements. Girls engaged in all three components of the regulation cycle, while offering collaborative, disagreement, confusion, and tutoring-coded statements. Confusion was often expressed as not understanding the partner or the task such as "Wait! What are you talking about?'' Individualistic utterances reflect no clear attempt to involve the partner, such as "You can trust me to handle it.'' Both occur far more than desired for collaborative work. Our findings can be used to inform the personalization of human and AI support in ways that will help both groups of students co-regulate and reduce the gender gap in computer science.
This paper revisits two emerging active learning practices in introductory programming courses and proposes ways they can be further improved. We first focus on a category of assignments which can further support the ...
详细信息
ISBN:
(纸本)9781934272114
This paper revisits two emerging active learning practices in introductory programming courses and proposes ways they can be further improved. We first focus on a category of assignments which can further support the switch from instructor-led to student-led live coding practices, thus helping develop the former into a real active learning pedagogy. Then, we propose to leverage test-driven development techniques through assignments meant to engage students in competitive learning without the drawbacks usually associated with this type of programming competition framework. The new activities have been tested in courses taught at the University of South Florida and observations of their impact are discussed with respect to constructive alignment theory, constructivist educational approaches, discovery learning and pair programming / test-driven techniques.
Computing students often learn to program individually or in variously-sized groups whilst studying in computing laboratories and face-to-face classes. Previous research indicates that learning via pair programming ca...
详细信息
ISBN:
(纸本)9789897584176
Computing students often learn to program individually or in variously-sized groups whilst studying in computing laboratories and face-to-face classes. Previous research indicates that learning via pair programming can lead to students improving the quality of their programming, enhancing their programming skills and increasing their self-confidence when programming. pair programming also is well established as a mechanism that supports peer learning and self-assessment for novice and more experienced students of programming. Observed benefits include increased self-efficacy, sharing of expertise, improved communication and team-working - all enhancing employability. A considerable amount of existing work has examined pair programming benefits as they relate to campus-based students pairing face-to-face in a laboratory class - but how can distance learning students experience such benefits? This paper describes the preliminary results from a pilot study to investigate the benefits to distance learning students of engaging in Remote pair programming in their learning. Our investigation goes beyond academic learning to explore community, social and employability benefits, all of which are relevant to national measures of student satisfaction.
Software maintainability is an important key aspect in software development life cycle. It has a huge impact on the time, effort, and cost. This research investigated the effect of applying pair programming on softwar...
详细信息
ISBN:
(数字)9783031202186
ISBN:
(纸本)9783031202179;9783031202186
Software maintainability is an important key aspect in software development life cycle. It has a huge impact on the time, effort, and cost. This research investigated the effect of applying pair programming on software maintainability vs individual programming approach. We reviewed many related studies which talked about the two approaches, but few of them focused on maintainability. Therefore, we conducted an experiment in educational environment. The participants were novice students in their second year, who finished object oriented programming course. The participating students were divided into two groups, some worked as individual and the others worked as pairs. In order to get good results, we made the experiment among the students in a competitive way. Enabling those who produced the best code to win a cash prize. Finally, code obtained from both approaches was analyzed by software quality assurance expert, who has finished a master degree in software engineering. The results taken from pair groups showed a statistically significant difference in building software with 50% less errors, 30% less code, and 25% better code. Furthermore, there is a marginal reducing in programming time particularly in small size software compared to individual programming.
暂无评论