Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 3,906 papers for “Pair programming”

Pair programming

NASA/Langley Research Center · Bulletin of Miscellaneous Information (Royal Gardens Kew) · 2002

Cited by 0Open access

Pair programming

Andrew Begel, Nachiappan Nagappan · 2008

Pair programming is a practice in which two programmers work collaboratively at one computer on the same design, algorithm, or code. Prior research on pair programming has primarily focused on its evaluation in academic settings. There has been limited evidence on the use, problems and benefits, partner selection, and the general perceptions towards pair programming in industrial settings. In this paper we report on a longitudinal evaluation of pair programming at Microsoft Corporation. We find from the results of a survey sent to a randomly selected 10% of engineers at Microsoft that 22% pair program or have pair programmed in the past. Using qualitative analysis, we performed a large-scale card sort to group the various benefits and problems of pair programming. The biggest perceived benefits of pair programming were the introduction of fewer bugs, spreading code understanding, and producing overall higher quality code. The top problems were cost-efficiency, (work time) scheduling problems, and personality conflicts. Most engineers preferred a partner who had complementary skills to their own, who was flexible and had good communication skills.

Cited by 139

Pair Programming

ITAMAR LACHMAN · OSF Preprints (OSF Preprints) · 2024

Cited by 0

Pair programming

NASA/Langley Research Center · Bulletin of Miscellaneous Information (Royal Gardens Kew) · 2002

Cited by 0Open access

Pair programming

NASA/Langley Research Center · Bulletin of Miscellaneous Information (Royal Gardens Kew) · 2002

Cited by 0Open access

Pair programming

NASA/Langley Research Center · Bulletin of Miscellaneous Information (Royal Gardens Kew) · 2002

Cited by 0Open access

Exploring Pair Programming

Laurie Williams · 2002

Pair programming is a style of programming in which two programmers work side-by-side at one computer, continuously collaborating on the same design, algorithm, code, or test. In industry, the practice of pair programming has been shown to improve product quality, improve team spirit, aid in knowledge management, and reduce product risk. In education, pair programming also improves student morale, helps students to be more successful, and improves student retention in an information technology major. This chapter provides an overview and history of pair programming followed by a summary of the use of pair programming in industry and academia. The chapter also provides insight into the principles that make pair programming successful, the economics of pair programming, and the challenges in the adoption of pair programming. 1.

Cited by 0

Virtual Pair Programming

Brian F. Hanks · 2003

Pair programming[1] transforms what has traditionally been a solitary activity into a cooperative effort. Although pair programming has been practiced informally for many years, its use has become more prevalent as part of the Extreme Programming (XP)[2] software process. Even though it is a key practice of XP, pair programming can be used as part of

Cited by 0

Pair programming illuminated

Laurie Williams, Robert R. Kessler · CERN Document Server (European Organization for Nuclear Research) · 2007

From the Book: This purpose of this book is to provide you with lots of information on pair programming. If you are already pairing, then the book will give you additional insights and techniques to make your pairing even more successful. We answer many of the questions and concerns that you may have about using the technique. In Section One, our aim is for you to gain greater understanding about pair programming. We'll describe the technique and will be looking at pair programming from many perspectives . . . from those who want to try and those who would rather not try, from those who are employees trying to convince their managers to let them try and those who are managers who are trying to convince their employees to try. In Section Two, we deal with some operational details of pairing—like furniture and hints and tips for daily operation. We discuss the importance of pair rotation and how that can lead to better knowledge management. In Section Three, we explain benefits and shortcomings of many different kinds of pairs and the context when each kind of pair works best. We offer ideas to help enhance the pairing and solutions for most problem pairings. Unfortunately, not all pairs will work and we provide ways to recognize the potential problems before they happen. Section Four gives two case studies of pair programming in different methodologies. The first describes pairing in Extreme Programming (XP), while the second discusses the Collaborative Software Process (CSP). In both cases, pair programming is an essential ingredient to success. We conclude in Section Five with some future directions and by enumerating Seven Habits of Effective PairProgrammers. Who Should Read This Book We've written this book for development team members and their managers. When we use the term software development team, it goes beyond those who write production code. For example, this book is certainly appropriate for team leaders and coaches, GUI designers, architects, and QA folks. This book was also written for educators who would like to try pair programming with their students. Depending upon your role, may we suggest the following process for reading this book: Software developers and team leaders/coaches who haven't tried pair programming yet will find Section One very useful. All should read Chapters 1-3 very carefully. If you are trying to convince your manager to transition to pair programming, Chapter 4 will be helpful. If you would like to convince your peers to give pair programming a shot, Chapter 5's for you. If you are currently being forced into pair programming, Chapter 6 will give you some guidance. Then, you can move on to the chapters in Section Two to get into some of the more operational issues you will need to deal with in a transition to pair programming. Chapter 27, the Seven Habits of Effective Pair Programmers will get you started on the right track. Appendix A, the Pair Programming Tutorial, can be used to help you transition a team or convince a team to take the pair-programming plunge. Software developers and team leaders/coaches who are currently doing pair programming should start out skimming Chapters 1-3. Much of this will be review for you, but you may pick up some additional insight. Then, you can move on to the chapters in Section Two to get into some of t more operational issues. Section Three will be particularly important in guiding you to choosing the best pair for the task at hand. Chapter 27, the Seven Habits of Effective Pair Programmers, will be a good grand finale for you. How many of these habits do you practice? Appendix D provides information about including Test-First Design with pair programming. QA personnel might be wondering how to handle a development team that has or plans to practice pair programming. Chapters 1-4 will give you a solid understanding of the technique and its benefits. Chapters 10 and 26 also discuss the possibility of pair programming as a substitute to code inspections. Appendix D discusses the composition of pair programming and a testing technique called Test-First Design. Managers should start out by reading the first four chapters and Chapter 7 of Section One. Then, if you are trying to convince a team to try pair programming, Chapter 6 will be helpful for you. Chapter 6 advises you to run a Pair Programming Tutorial, which is outlined in Appendix A, with your team. Section Two provides information about operational issues of pair programming. Chapter 26 provides information on some directions pair programming may lead to. Educators should read the first four chapters of Section One to gain a good basic understanding of the technique. Chapters 8, 10 and 11 will provide some tactical information about your students. Depending upon the skill level and mix of your students, you can choose some chapters in Section Three. Chapter 26 should appeal to your academic research interests. Chapter 27 provides good information to share with your students. App written with you in mind, and provides some sound tactical advice for using pair programming in your classroom. Who Wrote This Book The authors of this book are Laurie Williams and Bob Kessler. Laurie has a BS in Industrial Engineering from Lehigh University, an MBA from Duke, and a PhD in Computer Science from the University of Utah. She has also worked for IBM for nine years in various manufacturing, development and management positions. She is currently an Assistant Professor in the Computer Science department at North Carolina State University. Bob has a BS, MS and PhD in Computer Science from the University of Utah. He has founded several companies and is on the board of several others. He is currently a full professor in the School of Computing at the University of Utah. As we're sure you surmise, the great benefit that comes from pair programming comes from the social interactions between the partners. Thus, as you might expect, there are social issues involved. Although not trained sociologists, both of us have many years of experience in development. Thus, our views on the social interactions are grounded in our management experience and provide our fundamental basis for solving the various problems and issues. You might be wondering how we assimilated all the information in this book. We've done pair programming ourselves. We performed an extensive, formal experiment of pair programmers versus solo programmers, which yielded groundbreaking results. We've observed professional and student pair programmers. We've talked with or presented to thousands of experienced pair programmers, those considering pair programming and anti-pair programmers. We've also done two extensive surveys of professional pair programmers. We've heard lots of wonderful endorsements of pair programming, and we've heard every reason in the book why it won't work. We'll be quoting statistics from these surveys, presenting data gathered in our studies, and relaying lots of information from all these sources and our own experiences.

Cited by 560

Hybrid Pair Programming - A Promising Alternative to Standard Pair Programming

Hans Yuan, Yingjun Cao · 2019

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.

Cited by 15

Pair Programming in Introductory Programming Labs

Eric N. Wiebe, Laurie Williams, Julie Petlick et al. · 2008

ABSTRACT: This project looks at the practice of pair programming as a vehicle for improving the learning environment in introductory computer science labs, a nearly universal course for all engineering students. Pair programming is a practice in which two programmers work collaboratively at one computer, on the same design, algorithm, or code. Prior research indicates that pair programmers produce higher quality code in essentially half the time taken by solo programmers. A multiyear project is currently underway at North Carolina State University, looking at the efficacy of pair programming in an introductory Computer Science (CS1) course. Results indicate that student pair programmers are more self-sufficient in lab and are more likely to complete the class with a grade of C or better. The effect of pair programming on specific graded exams and projects are less clear. Demographic data, prior achievement scores, and current course scores were brought together with interview data, attitude surveys, and in-lab observations to guide the evaluation. As part of the in-lab data collection, novel techniques are being developed to better understand pair dynamics and student/instructor interactions. Collectively, these evaluative methods have guided the iterative implementation of paired programming instructional methods. Current challenges being addressed include lab instructor training, student/instructor concerns over equity in effort on assignments, pair dynamics in lab, and collaborative logistics of pair programming outside of lab. I.

Cited by 0

Effective distributed pair programming

Mark Rajpal · 2018

Pair Programming1 has quickly become a widespread technique for teams adopting Agile. The interest has gained even more popularity for those implementing Extreme Programming (XP) which is a well-known Agile methodology. There is a general agreement that pair programming works well with a pair of developers working side by side. However, that is not always possible. Distributed teams and distributed team members are becoming the norm. With that said, is distributed pair programming possible? And if so, can it be done effectively? This paper examines a project where distributed pair programming was extremely effective. Contrary to agile dogma, some individuals may perform better in a distributed manner over collocated.

Cited by 6

AI Pair Programming Tool

Prof. Anand Magar · International Journal for Research in Applied Science and Engineering Technology · 2023

Abstract: In the ever-evolving landscape of software development, the need for tools that augment developer productivity is paramount. This paper introduces a novel integration of IntelliJ IDEA, a widely used integrated development environment (IDE), with OpenAI's advanced deep learning models. The synergy between these two technologies aims to elevate the coding experience by providing intelligent code assistance, allowing developers to write code more efficiently and with greater accuracy. Our approach leverages OpenAI's natural language processing capabilities to enhance code suggestions, auto-completions, and error detection within IntelliJ IDEA. By analyzing vast code repositories and learning from diverse coding patterns, our system empowers developers with context-aware recommendations, significantly reducing the cognitive load associated with code creation. This paper presents the architecture of our solution, detailing the seamless integration of OpenAI's models into the IntelliJ IDEA IDE. We discuss the methodology behind training the models, emphasizing their adaptability to various programming languages and project structures. Furthermore, we present empirical results demonstrating the effectiveness of our approach in real-world coding scenarios.

Cited by 0Open access

Pair Programming with ChatGPT

Xi Chen, Jingsai Liang · 2024

This poster explores the potential of ChatGPT to replace the traditional approach of pair programming in introductory computer science courses. Traditionally, two students collaborate as a driver and a navigator, periodically switching roles. Now, a student can pair up with ChatGPT, which offers an innovative approach to pair programming. This exploratory activity, which emphasizes collaboration and communication, provides step-by-step instructions for effectively interacting with ChatGPT during pair programming.

Cited by 4

Pair Programming and Gender

Linda Werner, Brian Hanks, Charlie McDowell · IGI Global eBooks · 2006

Studies of pair programming both in industry and academic settings have found improvements in program quality, test scores, confidence, enjoyment, and retention in computer-related majors. In this article we define pair programming, summarize the results of pair programming research, and show why we believe pair programming will help women and men succeed in IT majors.

Cited by 2