18 research outputs found
Distributed-Pair Programming can work well and is not just Distributed Pair-Programming
Background: Distributed Pair Programming can be performed via screensharing
or via a distributed IDE. The latter offers the freedom of concurrent editing
(which may be helpful or damaging) and has even more awareness deficits than
screen sharing. Objective: Characterize how competent distributed pair
programmers may handle this additional freedom and these additional awareness
deficits and characterize the impacts on the pair programming process. Method:
A revelatory case study, based on direct observation of a single, highly
competent distributed pair of industrial software developers during a 3-day
collaboration. We use recordings of these sessions and conceptualize the
phenomena seen. Results: 1. Skilled pairs may bridge the awareness deficits
without visible obstruction of the overall process. 2. Skilled pairs may use
the additional editing freedom in a useful limited fashion, resulting in
potentially better fluency of the process than local pair programming.
Conclusion: When applied skillfully in an appropriate context, distributed-pair
programming can (not will!) work at least as well as local pair programming
Recommended from our members
The potential for haptic-enabled interaction to support collaborative learning in school biology
This paper discusses the rationales and design considerations for developing the use of haptics (virtual touch) for learning aspects of cell biology in secondary schools. The paper considers issues in understanding concepts in cell biology and how a 3-D environment enabled by haptics could support learning of difficult concepts. In this endeavour, a number of educational and design challenges need to be addressed. First we need to identify the level of detail and realism that will support learning and visualisation rather than confuse through its overcomplexity or create misconceptions through oversimplification. Secondly we need to integrate the use of the 3-D environment into classroom teaching by identifying relevant curriculum and pedagogical challenges and solutions. Significant design challenges include navigating the content and scale changes involved in moving between the visible, microscopic and nanoscale in an intuitive and realistic way and enabling collaborative learning
Pair Analytics: Capturing Reasoning Processes in Collaborative Visual Analytics
Studying how humans interact with abstract, visual representations of massive amounts of data provides knowledge about how cognition works in visual analytics. This knowledge provides guidelines for cognitive-aware design and evaluation of visual analytic tools. Different methods have been used to capture and conceptualize these processes including protocol analysis, experiments, cognitive task analysis, and field studies. In this article, we introduce Pair Analytics: a method for capturing reasoning processes in visual analytics. We claim that Pair Analytics offers two advantages with respect to other methods: (1) a more natural way of making explicit and capturing reasoning processes and (2) an approach to capture social and cognitive processes used to conduct collaborative analysis in real-life settings. We support and illustrate these claims with a pilot study of three phenomena in collaborative visual analytics: coordination of attention, cognitive workload, and navigation of analysis
Increasing Consonance and Resonance in Agile Teaching Methodologies
In a cooperative environment technicalexcellence and high quality students’ artifacts is whatteachers strive to achieve while educating computerscience students and facing the challenges of this newcentury. When agile techniques and accelerators andinjected in the process in a cooperative environment theconsonance and resonance in groups increases. Thisspeeds up the learning process and the quality of thematerial produced by the students improves. Twoobservational studies at Kent State University at Starkand Ohio University are described in this paper. Thestudies observe the usefulness of using agile teachingtechniques and analyze the quality of deliverablesproduced. A post questionnaire gathered students’feedback. The observation shows that cooperativelearning produces better results than individuallearning however consonance and resonance must bereached before the speed is achieved
Do Pair Programming Approaches Transcend Coding? Measuring Agile Attitudes in Diverse Information Systems Courses
Agile methods and approaches such as eXtreme programming (XP) have become the norm for successful organizations not only in the software industry but also for businesses seeking to improve internal software processes. Pair programming in some form is touted as a major functionality and productivity improvement. However, numerous studies show that simply placing two programmers side by side in front of a single computer screen is not enough. We must look at other factors such as programmer expertise, project preparation, and perceived solution quality to understand pair programming’s promises and pitfalls. In our study, we apply tailored programming challenges to a multifaceted group of first-year through senior Information Systems (IS) and non-IS majors to analyze how participant attitudes and perceived benefits of pair programming change from pre- to post-study, as well as determine whether the quality and functionality of the solutions differ across education levels and disciplines. Our findings show a strong interaction effect of gender and major composition (CIS vs. non-CIS majors) in all four dimensions of the ATMI attitude scale. Findings also suggest that experience in problem solving and solution formation are more important than prior specific domain knowledge. Finally, participants’ perceived ability, sense of accomplishment, and completion of the assigned work, regardless of background or demographic, determined their performance outcome on the pair-programming tasks, which suggests that not all forms of attitude and perceived benefits contribute to the performance outcome
Fifty years of the Psychology of Programming
This paper reflects on the evolution (past, present and future) of the ‘psychology of programming' over the 50 year period of this anniversary issue. The International Journal of Human-Computer Studies (IJHCS) has been a key venue for much seminal work in this field, including its first foundations, and we review the changing research concerns seen in publications over these five decades. We relate this thematic evolution to research taking place over the same period within more specialist communities, especially the Psychology of Programming Interest Group (PPIG), the Empirical Studies of Programming series (ESP), and the ongoing community in Visual Languages and Human-Centric Computing (VL/HCC). Many other communities have interacted with psychology of programming, both influenced by research published within the specialist groups, and in turn influencing research priorities. We end with an overview of the core theories that have been developed over this period, as an introductory resource for new researchers, and also with the authors’ own analysis of key priorities for future research
Programação em duplas: estado da arte
Resumo: Programação em Duplas (Pair Programming – PP) é uma prática colaborativa de desenvolvimento de software em que dois programadores trabalham ao mesmo tempo em um único computador e na mesma tarefa de programação. Foi relatado na literatura que o conhecimento sobre PP encontra-se disperso e desorganizado. Com o intuito de colocar um pouco de ordem a esse caos, o presente estudo realizou uma busca exaustiva de trabalhos sobre PP em algumas das bibliotecas digitais mais importantes do mundo em Ciência da Computação (Sociedade Brasileira de Computação, ACM, IEEE Explore, Springer, CiteSeer e ScienceDirect, entre outras) e no Google/Scholar. A partir da completa leitura dos trabalhos encontrados, procurou-se definir temas chave dentro da área descrevendo todos os estudos que se relacionam com cada tema. Os achados são interessantes e extensos – eles podem ser encontrados durante toda a leitura do presente artigo
Os robôs no ensino da programação
Relatório da prática de ensino supervisionada, Ensino de Informática, Universidade de Lisboa, 2013Este relatório incide numa intervenção realizada na Escola Secundária de Camões em Lisboa e visa analisar em que medida os robôs podem potenciar a aprendizagem das estruturas de controlo, em programação, numa turma de 10º ano do Curso Profissional de Técnico de Informática de Gestão. O projeto realizado pelos alunos, em cinco sessões de noventa minutos, consistiu em elaborar algoritmos para movimentar os robôs sem que os mesmos colidissem com os objetos à sua volta. O trabalho foi inspirado em metodologias tais como Project Based Learning, Competition Based Learning e Cenários de Aprendizagem (Carroll, 2000). Para além dos instrumentos de avaliação dos alunos, foram realizados pré e pós-testes para verificar as aprendizagens ocorridas durante a intervenção. Os dados recolhidos revelam que a utilização de robôs como recurso educativo, nesta intervenção, revelou algumas evidências de aprendizagem dos conteúdos abordados. A utilização de robôs também demonstrou ser um fator de interesse e envolvimento por parte dos alunos.Teaching and learning computer programming is quite difficult. Recently, the research identifies some artifacts that can contribute to student learning. The interaction with robots can have an important role in the computer science disciplines. This study tries to contribute with the possibility that robots can help secondary students to learn programming, in this case control structures. Before the robotics learning activity, the students took a pretest for analyzing their knowledge of control structures. After this test, students developed an algorithm to move the robots with no collisions in a small arena. The posttest was done after all robots activity. Both tests were used in this study to measure learning. To move robots correctly the teacher introduced basic instructions and the programming structures control. The robots were equipped with three simple ultrasonic sensors and two motors to move themself. Coupled to all the hardware, the robot has an Arduino microcontroller which has been programmed by the students. The statistical result indicated that significant differences were found between pre and posttest. Like other authors mentioned in this document, this studied concludes that robots are not a guaranteed solution, but they can improve students programing learning’s in computer science secondary courses