This dissertation investigates computational models and methods to improve collaboration skills among students. The study targets pair programming, a popular collaborative learning practice in computer science educati...
详细信息
This dissertation investigates computational models and methods to improve collaboration skills among students. The study targets pair programming, a popular collaborative learning practice in computer science education. This research led to the first machine learning models capable of detecting micromanagement, exclusive language, and other types of collaborative talk during pair programming. The investigation of computational models led to a novel method for adapting pretrained language models by first training them with a multi-task learning objective. I performed computational linguistic analysis of the types of interactions commonly seen in pair programming and obtained computationally tractable features to classify collaborative talk. In addition, I evaluated a novel metric utilized in evaluating the models in this dissertation. This metric is applicable in the areas of affective systems, formative feedback systems and the broader field of computer science. Lastly, I present a computational method, CollabAssist, for providing real-time feedback to improve collaboration. The empirical evaluation of CollabAssist demonstrated a statistically significant reduction in micromanagement during pair programming. Overall, this dissertation contributes to the development of better collaborative learning practices and facilitates greater student learning gains thereby improving students’ computer science skills.
This is an experience report on Twin Training which arose out of a unique situation that occurred in a small research department in Thessaloniki, Greece when all the programmers left the firm. The new programmers in t...
详细信息
ISBN:
(纸本)9781605584263
This is an experience report on Twin Training which arose out of a unique situation that occurred in a small research department in Thessaloniki, Greece when all the programmers left the firm. The new programmers in the department were a recent graduate and an intern unfamiliar with the required technologies to complete the unfinished European Union funded projects. This paper outlines how, without a mentor, they devised a mutually supportive training technique which enabled them to acquire both knowledge and practical skills quickly. Twin Training helped them break personal barriers and provided a supportive grounding to progress to pair programming on the projects.
In earlier work, we assessed, analyzed and improved the teaching of programming through pair work. In this study, we evaluated the changes in learning behavior that were confirmed due to these improved teaching method...
详细信息
ISBN:
(纸本)9781538606216
In earlier work, we assessed, analyzed and improved the teaching of programming through pair work. In this study, we evaluated the changes in learning behavior that were confirmed due to these improved teaching methods. As a result, we confirmed that knowledge is shared during pair work between highly skilled learners and learners of lower skill levels.
As the complexity of software projects in today's environment is increasing, it's necessary to work more in teams. The team may be two member team or n-member team. The collaborative and co-operative effort fr...
详细信息
ISBN:
(纸本)9781479959587
As the complexity of software projects in today's environment is increasing, it's necessary to work more in teams. The team may be two member team or n-member team. The collaborative and co-operative effort from team produced a better result. Most recent software develop model "AGILE-a group of methods" also supports the team work in the form of pair programming. pair programming is the method related to the efforts of two individuals, driver and navigator or we can say walker and the guide. pair programming is used for getting more promising results, but sometimes due to the personality traits of individual team member it may become disastrous. This research paper focuses on this problem and tests whether personality test traits of any individual affect the final output or not.
pair programming is one of the most studied and debated development techniques. However, at present, we do not have a clear, objective, and quantitative understanding of the claimed benefits of such development approa...
详细信息
ISBN:
(纸本)9781467310673
pair programming is one of the most studied and debated development techniques. However, at present, we do not have a clear, objective, and quantitative understanding of the claimed benefits of such development approach. All the available studies focus on the analysis of the effects of pair programming (e. g., code quality, development speed, etc.) with different findings and limited replicability of the experiments. This paper adopts a different approach that could be replicated in an easier way: it investigates how pair programming affects the way developers write code and interact with their development machine. In particular, the paper focuses on the effects that pair programming has on developers' attention and productivity. The study was performed on a professional development team observed for ten months and it finds out that pair programming helps developers to eliminate distracting activities and to focus on productive activities.
pair programming is a key characteristic of the Extreme programming (XP) method. Through a controlled experiment we investigate pair programming behaviour of programmers without prior experience in XP. The factors inv...
详细信息
ISBN:
(纸本)9783642383144;9783642383137
pair programming is a key characteristic of the Extreme programming (XP) method. Through a controlled experiment we investigate pair programming behaviour of programmers without prior experience in XP. The factors investigated are: (a) characteristics of pair programming that are less favored (b) perceptions of team effectiveness and how they relate to product quality, and (c) whether it is better to train a pair by giving routine tasks first or by giving complex tasks first. Our results show that: (a) the least liked aspects of pair programming were having to share the screen, keyboard and mouse, and having to switch between the roles of driver and navigator (b) programmers solved complex problems more effectively in pairs compared to routine problems, however, perceptions of team effectiveness was higher when solving routine problems than when solving complex problems and (c) programmers who started pair programming with routine tasks and moved on to complex tasks were more effective than those who started with complex ones and moved on to routine ones. We discuss how these results will assist the industry in inducting programmers without prior pair-programming experience into XP process environments.
The recent widespread popularity of generative AI models has inspired the development of large-language model (LLM) based tools for educational purposes. We explore the impact of LLM-based tools on pair programming fo...
详细信息
ISBN:
(纸本)9798400711770
The recent widespread popularity of generative AI models has inspired the development of large-language model (LLM) based tools for educational purposes. We explore the impact of LLM-based tools on pair programming for algorithm tracing with the aim of addressing challenges inherent to pair programming. We designed and developed a GPT-4 based tool, TraceCompanion, that acts as students' pair programming partner for algorithm tracing. We describe insights gained from running a pilot study to investigate students' interactions with the tool and their initial perceptions.
Large language models (LLMs) have achieved impressive performance on code generation. Although prior studies enhanced LLMs with prompting techniques and code refinement, they still struggle with complex programming pr...
详细信息
ISBN:
(数字)9798400712487
ISBN:
(纸本)9798400712487
Large language models (LLMs) have achieved impressive performance on code generation. Although prior studies enhanced LLMs with prompting techniques and code refinement, they still struggle with complex programming problems due to rigid solution plans. In this paper, we draw on pair programming practices to propose pairCODER, a novel LLM-based framework for code generation. pairCODER incorporates two collaborative LLM agents, namely a NAVIGATOR agent for high-level planning and a Driver agent for specific implementation. The NAVIGATOR is responsible for proposing promising solution plans, selecting the current optimal plan, and directing the next iteration round based on execution feedback. The DRIVER follows the guidance of NAVIGATOR to undertake initial code generation, code testing, and refinement. This interleaved and iterative workflow involves multi-plan exploration and feedback-based refinement, which mimics the collaboration of pair programmers. We evaluate pairCODER with both open-source and closed-source LLMs on various code generation benchmarks. Extensive experimental results demonstrate the superior accuracy of pairCODER, achieving relative pass@1 improvements of 12.00% 162.43% compared to prompting LLMs directly.
pair programming is a software development technique with many cited benefits in learning and teaching. However, it is reported that novice programmers find several barriers to pairing up, typically due to the added c...
详细信息
pair programming is a software development technique with many cited benefits in learning and teaching. However, it is reported that novice programmers find several barriers to pairing up, typically due to the added communication that is required of this approach. This paper will present a literature review discussing the issue of communication, and through a series of observations with industry-based pairs, will derive a set of guidelines which aim to help novice pairs experience better communication within their pairs. An evaluation of the guidelines with undergraduate students is then reported, showing that exposure to these guidelines improved the self-perceived communication experience of novice pairs.
pair programming has been widely adopted as an effective pedagogical tool in CS1/2. The successful execution of pair programming depends on each partner contributing similar amounts of work. However, anecdotes from pa...
详细信息
ISBN:
(纸本)9781450358903
pair programming has been widely adopted as an effective pedagogical tool in CS1/2. The successful execution of pair programming depends on each partner contributing similar amounts of work. However, anecdotes from past research observed that some student pairs can contribute a drastically unequal amount towards their assignments. We address this through a pilot of a hybrid pair programming model. Here, students complete two halves of the assignment as independent programmers and then in partnerships. We conducted a randomized experiment on this model in a CS1 class and found that while pairs generally performed better than solo students in the checkpoint, pairs in the second stage who had worked independently during the checkpoint portion tend to be more resistant to sudden increases in difficulty. We found no significant difference on selected exam problems between the control and experiment groups. We identified lower contributors within pairs and these students showed improved scores on most exam questions directly related to their independent checkpoint work. Survey feedback on hybrid pair programming is positive. The hybrid model is easily adopted in CS classes and positions students to better face the obstacles presented by the assignment while allowing them to benefit from pair programming.
暂无评论