skip to main content
10.1145/3025453.3025876acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
research-article
Public Access

CodePilot: Scaffolding End-to-End Collaborative Software Development for Novice Programmers

Published: 02 May 2017 Publication History

Abstract

Novice programmers often have trouble installing, configuring, and managing disparate tools (e.g., version control systems, testing infrastructure, bug trackers) that are required to become productive in a modern collaborative software development environment. To lower the barriers to entry into software development, we created a prototype IDE for novices called CodePilot, which is, to our knowledge, the first attempt to integrate coding, testing, bug reporting, and version control management into a real-time collaborative system. CodePilot enables multiple users to connect to a web-based programming session and work together on several major phases of software development. An eight-subject exploratory user study found that first-time users of CodePilot spontaneously used it to assume roles such as developer/tester and developer/assistant when creating a web application together in pairs. Users felt that CodePilot could aid in scaffolding for novices, situational awareness, and lowering barriers to impromptu collaboration.

Supplementary Material

suppl.mov (pn3221p.mp4)
Supplemental video

References

[1]
Jacob T. Biehl, Mary Czerwinski, Greg Smith, and George G. Robertson. 2007. FASTDash: A Visual Dashboard for Fostering Awareness in Software Teams. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '07). ACM, New York, NY, USA, 1313--1322.
[2]
Yan Chen, Steve Oney, and Walter S. Lasecki. 2016. Towards Providing On-Demand Expert Support for Software Developers. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems (CHI '16). ACM, New York, NY, USA, 3192--3203.
[3]
Laura Dabbish, Colleen Stuart, Jason Tsay, and Jim Herbsleb. 2012. Social Coding in GitHub: Transparency and Collaboration in an Open Software Repository. In Proceedings of the ACM 2012 Conference on Computer Supported Cooperative Work (CSCW '12). ACM, New York, NY, USA, 1277--1286.
[4]
Prasun Dewan, Puneet Agarwal, Gautam Shroff, and Rajesh Hegde. 2009. Distributed Side-by-side Programming. In Proceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering (CHASE '09). IEEE Computer Society, Washington, DC, USA, 48--55.
[5]
Hongfei Fan, Chengzheng Sun, and Haifeng Shen. 2012. ATCoPE: Any-time Collaborative Programming Environment for Seamless Integration of Real-time and Non-real-time Teamwork in Software Development. In Proceedings of the 17th ACM International Conference on Supporting Group Work (GROUP '12). ACM, New York, NY, USA, 107--116.
[6]
Max Goldman, Greg Little, and Robert C. Miller. 2011. Real-time Collaborative Coding in a Web IDE. In Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology (UIST '11). ACM, New York, NY, USA, 155--164.
[7]
Max Goldman and Robert C. Miller. 2010. Test-driven Roles for Pair Programming. In Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering (CHASE '10). ACM, New York, NY, USA, 13--20.
[8]
Lile Hattori and Michele Lanza. 2010. Syde: A Tool for Collaborative Software Development. In Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 2 (ICSE '10). ACM, New York, NY, USA, 235--238.
[9]
R. Hegde and P. Dewan. 2008. Connecting Programming Environments to Support Ad-Hoc Collaboration. In Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE '08). IEEE Computer Society, Washington, DC, USA, 178--187.
[10]
James D. Herbsleb. 2007. Global Software Engineering: The Future of Socio-technical Coordination. In 2007 Future of Software Engineering (FOSE '07). IEEE Computer Society, Washington, DC, USA, 188--198.
[11]
Stephan Salinger, Christopher Oezbek, Karl Beecher, and Julia Schenk. 2010. Saros: An Eclipse Plug-in for Distributed Party Programming. In Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering (CHASE '10). ACM, New York, NY, USA, 48--55.
[12]
Patrick Thibodeau. 2013. India to overtake U.S. on number of developers by 2017. http: //www.computerworld.com/article/2483690/it-careers/ india-to-overtake-u-s--on-number-of-developers-by-2017. html. (2013). Accessed: 2016-09--13.
[13]
Laurie Williams, Robert R. Kessler, Ward Cunningham, and Ron Jeffries. 2000. Strengthening the Case for Pair Programming. IEEE Software 17, 4 (July 2000), 19--25.
[14]
Laurie Williams, Charlie McDowell, Nachiappan Nagappan, Julian Fernald, and Linda Werner. 2003. Building Pair Programming Knowledge Through a Family of Experiments. In Proceedings of the 2003 International Symposium on Empirical Software Engineering (ISESE '03). IEEE Computer Society, Washington, DC, USA, 143--. http://dl.acm.org/citation.cfm?id=942801.943642

Cited By

View all
  • (2024)Don't Step on My Toes: Resolving Editing Conflicts in Real-Time Collaboration in Computational NotebooksProceedings of the 1st ACM/IEEE Workshop on Integrated Development Environments10.1145/3643796.3648453(47-52)Online publication date: 20-Apr-2024
  • (2024)Annotation-Based Semantic Conflict Prevention in Real-Time Collaborative Programming: Approach, Techniques, Prototype, and User Study2024 IEEE International Conference on Systems, Man, and Cybernetics (SMC)10.1109/SMC54092.2024.10831572(1755-1760)Online publication date: 6-Oct-2024
  • (2023)Can Synchronous Code Editing and Awareness Tools Support Remote Tutoring? Effects on Learning and TeachingProceedings of the ACM on Human-Computer Interaction10.1145/36101777:CSCW2(1-30)Online publication date: 4-Oct-2023
  • Show More Cited By

Index Terms

  1. CodePilot: Scaffolding End-to-End Collaborative Software Development for Novice Programmers

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CHI '17: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems
    May 2017
    7138 pages
    ISBN:9781450346559
    DOI:10.1145/3025453
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 May 2017

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. collaborative ide
    2. novice programmers
    3. pair programming

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    CHI '17
    Sponsor:

    Acceptance Rates

    CHI '17 Paper Acceptance Rate 600 of 2,400 submissions, 25%;
    Overall Acceptance Rate 6,199 of 26,314 submissions, 24%

    Upcoming Conference

    CHI 2025
    ACM CHI Conference on Human Factors in Computing Systems
    April 26 - May 1, 2025
    Yokohama , Japan

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)138
    • Downloads (Last 6 weeks)12
    Reflects downloads up to 13 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Don't Step on My Toes: Resolving Editing Conflicts in Real-Time Collaboration in Computational NotebooksProceedings of the 1st ACM/IEEE Workshop on Integrated Development Environments10.1145/3643796.3648453(47-52)Online publication date: 20-Apr-2024
    • (2024)Annotation-Based Semantic Conflict Prevention in Real-Time Collaborative Programming: Approach, Techniques, Prototype, and User Study2024 IEEE International Conference on Systems, Man, and Cybernetics (SMC)10.1109/SMC54092.2024.10831572(1755-1760)Online publication date: 6-Oct-2024
    • (2023)Can Synchronous Code Editing and Awareness Tools Support Remote Tutoring? Effects on Learning and TeachingProceedings of the ACM on Human-Computer Interaction10.1145/36101777:CSCW2(1-30)Online publication date: 4-Oct-2023
    • (2023)The Programmer’s Assistant: Conversational Interaction with a Large Language Model for Software DevelopmentProceedings of the 28th International Conference on Intelligent User Interfaces10.1145/3581641.3584037(491-514)Online publication date: 27-Mar-2023
    • (2023)Supporting Collaboration in Introductory Programming Classes Taught in Hybrid Mode: A Participatory Design StudyProceedings of the 2023 ACM Designing Interactive Systems Conference10.1145/3563657.3596042(1248-1262)Online publication date: 10-Jul-2023
    • (2023)Understanding Collaborative Practices and Tools of Professional UX Practitioners in Software OrganizationsProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3581273(1-20)Online publication date: 19-Apr-2023
    • (2023)A controlled experiment on the impact of microtasking on programmingEmpirical Software Engineering10.1007/s10664-022-10226-228:1Online publication date: 1-Jan-2023
    • (2022)Integrating Real-Time and Non-Real-Time Collaborative ProgrammingProceedings of the ACM on Human-Computer Interaction10.1145/35675637:GROUP(1-19)Online publication date: 29-Dec-2022
    • (2022)CodeWalk: Facilitating Shared Awareness in Mixed-Ability Collaborative Software DevelopmentProceedings of the 24th International ACM SIGACCESS Conference on Computers and Accessibility10.1145/3517428.3544812(1-16)Online publication date: 23-Oct-2022
    • (2022)Better Together? An Evaluation of AI-Supported Code TranslationProceedings of the 27th International Conference on Intelligent User Interfaces10.1145/3490099.3511157(369-391)Online publication date: 22-Mar-2022
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media