The Pennsylvania State University the Graduate School College of Information Sciences and Technology an INVESTIGATION of T
Total Page:16
File Type:pdf, Size:1020Kb
The Pennsylvania State University The Graduate School College of Information Sciences and Technology AN INVESTIGATION OF TECHNOLOGY DESIGN FEATURES FOR SUPPORTING REAL-TIME COLLABORATIVE PROGRAMMING IN AN EDUCATIONAL ENVIRONMENT A Thesis in Information Sciences and Technology by Jin Zhang © 2018 Jin Zhang Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science May 2018 ii The thesis of Jin Zhang was reviewed and approved* by the following: Mary Beth Rosson Professor of Information Sciences & Technology Associate Dean, College of Information Sciences and Technology Thesis Advisor Head of Graduate Program Benjamin Hanrahan Assistant Professor of Information Sciences & Technology Rosalie Ocker Associate Professor of Information Sciences & Technology *Signatures are on file in the Graduate School. iii ABSTRACT Courses that introduce concepts and skills for object-oriented programming (OOP) are very common across educational establishments, even in middle and high schools. In many such courses, collaboration in small teams on OOP projects is a necessary and important element. Team programming allows educators to assign more challenging problems, while at the same time providing practice on programming collaboration that is common in industry. In these projects, real-time (synchronous) collaboration is often critical, as it gives students the opportunity to view, build and check on each other’s code as it is being developed. However, despite the value in such real-time collaboration, it is currently only partly supported by tools, with students often relying on independent tools for different aspects of their work (e.g., code editors, compilers, online chat). There are no technologies that would be most appropriate for students to use while completing OOP project collaboratively in real-time. Moreover, educators also use a mix of methods when grading OOP assignments. There is no effort to analyze technologies that would be most appropriate for their grading method. My thesis studies this gap in tool support using two primary methods: 1) working from a scenario-based analysis of a state-of-the-art shared programming tool (Cloud9), I designed and mocked-up enhancements to Cloud9, so I could explore how it might support common team programming scenarios; and 2) I conducted interviews of OOP students and instructors to learn about their background and expectations for team projects, as well as react to my design ideas. In this thesis, I report my methods for design analysis and empirical study, and interpret my results to propose new design directions for tools that might better support real-time collaborative programming in an educational environment. iv Table of Contents LIST OF FIGURES ....................................................................................................................... vi LIST OF TABLES ........................................................................................................................ vii ACKNOWLEDGEMENTS ......................................................................................................... viii Chapter 1 ......................................................................................................................................... 1 Introduction ...............................................................................................................................................1 Contributions .............................................................................................................................................4 Structure of Thesis .....................................................................................................................................4 Chapter 2 ......................................................................................................................................... 5 Literature Review ......................................................................................................................................5 Synchronous Collaborative Programming ............................................................................................5 Real-Time Collaborative Editing ..........................................................................................................6 Collaborative Learning ..........................................................................................................................7 Pair Programming .................................................................................................................................8 Computer Mediated Communication ....................................................................................................9 Feature Analysis of Existing Tools for Synchronous Programming ..................................................11 Summary and Research Question .......................................................................................................14 Chapter 3 ....................................................................................................................................... 15 Research Methodology ............................................................................................................................15 Chapter Overview ...............................................................................................................................15 Participants and Recruitment ..............................................................................................................16 Data Collection ....................................................................................................................................19 Data Analysis ......................................................................................................................................31 Chapter 4 ....................................................................................................................................... 32 Results and Findings ................................................................................................................................32 Chapter Overview ...............................................................................................................................32 Student Experiences in Learning OOP ...............................................................................................32 Student Reactions to the Design Mock-up ..........................................................................................43 Instructor Experiences with Teaching OOP ........................................................................................57 Instructor Reactions to the Tool Mock-up ..........................................................................................62 Summary ..................................................................................................................................................66 Chapter 5 ....................................................................................................................................... 68 Discussion ................................................................................................................................................68 Chapter Overview ...............................................................................................................................68 Limitations ...............................................................................................................................................75 Chapter 6 ....................................................................................................................................... 77 Conclusions .............................................................................................................................................77 Future Work .............................................................................................................................................77 v References ..................................................................................................................................... 79 Appendix A .........................................................................................................................................84 Summary Explanation of Exempt Research .......................................................................................84 Consent for Exempt Research .............................................................................................................84 Appendix B .........................................................................................................................................85 Part I Student Interview Questions .....................................................................................................85 Appendix C .........................................................................................................................................86 Part II Student Interview .....................................................................................................................86 Appendix D .........................................................................................................................................93 Part I Instructor Interview Questions ..................................................................................................93 Appendix E ..........................................................................................................................................94