ABSTRACT
People with more programming experience often perform more streamlined and efficient web searches. Previous studies have shown that expert programmers spend less time searching for knowledge on the web than novices. However, which web resources are practical for expert programmers and whether they lead to efficient programming problem-solving is unknown. In this study, we aim to extract practical learning web resources for solving programming tasks from web browsing logs of programming experts. We present a web browser extension that tracks a user’s browsing history. Data is collected from ten participants with over four years of programming experience. Participants are asked to complete three text-mining tasks using the R programming language. After the experiment, participants are asked to complete a post-experiment survey to indicate which web resource assisted them in solving the problem. The results show that combining the results of web access for programmers make it possible to discover practical web resources for problem-solving. Our results demonstrate a strategy for extracting web resources helpful in solving programming tasks.
- Deeksha Arya, Jin L.C. Guo, and Martin Robillard. 2022. How programmers find online learning resources. Empirical Software Engineering 28 (12 2022). https://doi.org/10.1007/s10664-022-10246-yGoogle ScholarDigital Library
- Gina R. Bai, Joshua Kayani, and Kathryn T. Stolee. 2020. How Graduate Computing Students Search When Using an Unfamiliar Programming Language. In Proceedings of the 28th International Conference on Program Comprehension (Seoul, Republic of Korea) (ICPC ’20). Association for Computing Machinery, New York, NY, USA, 160–171. https://doi.org/10.1145/3387904.3389274Google ScholarDigital Library
- Giuseppe Di Battista, Peter Eades, Roberto Tamassia, and Ioannis G Tollis. 1998. Graph drawing: algorithms for the visualization of graphs. Prentice Hall PTR.Google Scholar
- Joel Brandt, Philip J. Guo, Joel Lewenstein, Mira Dontcheva, and Scott R. Klemmer. 2009. Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning, and Writing Code. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (Boston, MA, USA) (CHI ’09). Association for Computing Machinery, New York, NY, USA, 1589–1598. https://doi.org/10.1145/1518701.1518944Google ScholarDigital Library
- Michelle Ichinco, Wint Yee Hnin, and Caitlin L. Kelleher. 2017. Suggesting API Usage to Novice Programmers with the Example Guru. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems (Denver, Colorado, USA) (CHI ’17). Association for Computing Machinery, New York, NY, USA, 1105–1117. https://doi.org/10.1145/3025453.3025827Google ScholarDigital Library
- Jinyoung Kim, Brenna McNally, Leyla Norooz, and Allison Druin. 2017. Internet Search Roles of Adults in Their Homes. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems (Denver, Colorado, USA) (CHI ’17). Association for Computing Machinery, New York, NY, USA, 4948–4959. https://doi.org/10.1145/3025453.3025572Google ScholarDigital Library
- Kyung-Sun Kim and Sei-Ching Joanna Sin. 2016. Use and Evaluation of Information From Social Media in the Academic Context: Analysis of Gap Between Students and Librarians. The Journal of Academic Librarianship 42, 1 (2016), 74–82. https://doi.org/10.1016/j.acalib.2015.11.001Google ScholarCross Ref
- Michael J. Lee and Amy J. Ko. 2011. Personifying Programming Tool Feedback Improves Novice Programmers’ Learning. In Proceedings of the Seventh International Workshop on Computing Education Research (Providence, Rhode Island, USA) (ICER ’11). Association for Computing Machinery, New York, NY, USA, 109–116. https://doi.org/10.1145/2016911.2016934Google ScholarDigital Library
- Hongwei Li, Zhenchang Xing, Xin Peng, and Wenyun Zhao. 2013. What help do developers seek, when and how?. In 2013 20th Working Conference on Reverse Engineering (WCRE). 142–151. https://doi.org/10.1109/WCRE.2013.6671289Google ScholarCross Ref
- Jiakun Liu, Sebastian Baltes, Christoph Treude, David Lo, Yun Zhang, and Xin Xia. 2021. Characterizing Search Activities on Stack Overflow. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (Athens, Greece) (ESEC/FSE 2021). Association for Computing Machinery, New York, NY, USA, 919–931. https://doi.org/10.1145/3468264.3468582Google ScholarDigital Library
- Jihed Makhlouf, Yutaka Arakawa, and Ko Watanabe. 2021. A Privacy-Aware Browser Extension to Track User Search Behavior for Programming Course Supplement. In International Conference on Mobile and Ubiquitous Systems: Computing, Networking, and Services. Springer, 783–796.Google Scholar
- Swati Mishra and Jeffrey M Rzeszotarski. 2021. Designing Interactive Transfer Learning Tools for ML Non-Experts. In Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems (Yokohama, Japan) (CHI ’21). Association for Computing Machinery, New York, NY, USA, Article 364, 15 pages. https://doi.org/10.1145/3411764.3445096Google ScholarDigital Library
- David Piorkowski, Scott D. Fleming, Christopher Scaffidi, Margaret Burnett, Irwin Kwan, Austin Z. Henley, Jamie Macbeth, Charles Hill, and Amber Horvath. 2015. To fix or to learn? How production bias affects developers’ information foraging during debugging. In 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME). 11–20. https://doi.org/10.1109/ICSM.2015.7332447Google ScholarDigital Library
- Patrick Riehmann, Manfred Hanfler, and Bernd Froehlich. 2005. Interactive sankey diagrams. In IEEE Symposium on Information Visualization, 2005. INFOVIS 2005. IEEE, 233–240.Google ScholarCross Ref
- Serhad Sarica and Jianxi Luo. 2021. Stopwords in technical language processing. Plos one 16, 8 (2021), e0254937.Google ScholarCross Ref
- Christoph Treude, Ohad Barzilay, and Margaret-Anne Storey. 2011. How Do Programmers Ask and Answer Questions on the Web? (NIER Track). In Proceedings of the 33rd International Conference on Software Engineering (Waikiki, Honolulu, HI, USA) (ICSE ’11). Association for Computing Machinery, New York, NY, USA, 804–807. https://doi.org/10.1145/1985793.1985907Google ScholarDigital Library
- Ko Watanabe, Yuki Matsuda, Yugo Nakamura, Yutaka Arakawa, and Shoya Ishimaru. 2022. How do Programmers Use the Internet? Discovering Domain Knowledge from Browsing and Coding Behaviors. In 2022 IEEE International Conferences on Internet of Things (iThings) and IEEE Green Computing & Communications (GreenCom) and IEEE Cyber, Physical & Social Computing (CPSCom) and IEEE Smart Data (SmartData) and IEEE Congress on Cybermatics (Cybermatics). IEEE, 605–610.Google Scholar
- Xin Xia, Lingfeng Bao, David Lo, Pavneet Singh Kochhar, Ahmed E Hassan, and Zhenchang Xing. 2017. What do developers search for on the web?Empirical Software Engineering 22, 6 (2017), 3149–3185.Google Scholar
Index Terms
- Combining the Knowledge of Experienced Programmers to Extract Useful Web Resources for Solving Programming Tasks
Recommendations
Analysis of the Programming Languages Preferred by Novice Programmers for Solving Programming Problem
ASSE '23: Proceedings of the 2023 4th Asia Service Sciences and Software Engineering ConferenceIn ICT education, most of the courses particularly those focused on programming, are designed to enhance computational and practical skills. However, the selection of appropriate programming languages holds great significance for novice programmers ...
Use of problem-solving approach to teach scratch programming for adult novice programmers (abstract only)
SIGCSE '14: Proceedings of the 45th ACM technical symposium on Computer science educationNovice programmers usually fail to combine abstract concepts and knowledge into program design, even though they know the syntax and semantics of individual statement. Adult novice programmers with little computer background knowledge might face more ...
Knowledge in the head and on the web: using topic expertise to aid search
CHI '08: Proceedings of the SIGCHI Conference on Human Factors in Computing SystemsThe importance of background knowledge for effective searching on the Web is not well understood. Participants were given trivia questions on two topics and asked to answer them first using background knowledge and second by searching on the Web. ...
Comments