skip to main content
10.1145/3274192.3274209acmotherconferencesArticle/Chapter ViewAbstractPublication PagesihcConference Proceedingsconference-collections
research-article

Do I Know What My Code is "Saying"?: A study on novice programmers' perceptions of what reused source code may mean

Published:22 October 2018Publication History

ABSTRACT

Software development practices rely extensively on reusing source code written by other programmers. One of the recurring questions about such practice is how much programmers, acting as users of somebody else's code, really understand about the source code that they inject it in their own programs. The question is even more important for novices, who are trying to learn what programming is and how it should be practiced in larger scale. In this paper we present the results of an ongoing research using a semiotic approach to investigate how programmers send and receive, through messages inscribed in the source code of the programs they write or reuse, implicit and explicit communication about what such source code "means" to them and others. We carried out two studies with novice programmers and results suggest that source code reuse may impact the comprehension that programmers have about their own source code. In addition, how it impacts their understanding about the messages that are being communicated through their programs.

References

  1. Eran Avidan and Dror G. Feitelson. 2017. Effects of Variable Names on Comprehension: An Empirical Study. In 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC). 55--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Liam Bannon. 2011. Reimagining HCI: Toward a More Human-centered Perspective, interactions 18, 4 (July 2011), 50--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Jennie Carrol, Steve Howard, Jane Peck, and John Murphy. 2002. A field study of perceptions and use of mobile telephones by 16 to 22 years old. Journal of Information Technology Theory and Application 4, 2 (2002), 49--61.Google ScholarGoogle Scholar
  4. Sangil Choi. 2016. Understanding people with human activities and social interactions for human-centered computing. Human-centric Computing and Information Sciences 6, 1 (05 Jul 2016), 9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Clarisse Sieckenius de Souza. 2005. The Semiotic Engineering of Human-Computer Interaction (Acting with Technology). The MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Clarisse Sieckenius de Souza, Renato F. de G. Cerqueira, Luiz Marques Afonso, Rafael R. de M. Brandão, and Juliana S. J. Ferreira. 2016. Software Developers As Users: Semiotic Investigations in Human-Centered Software Development (1st ed.). Springer Publishing Company, Incorporated. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Paul Dourish. 2003. The Appropriation of Interactive Technologies: Some Lessons from Placeless Documents. Computer Supported Cooperative Work (CSCW) 12, 4 (01 Dec 2003), 465--490. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Umberto Eco. 1976. A Theory of Semiotics. Indiana University Press. https://books.google.com.br/books?id=BoXO4ItsuaMCGoogle ScholarGoogle Scholar
  9. Alessio Gaspar and Sarah Langevin. 2007. Restoring "Coding with Intention" in Introductory Programming Courses. In Proceedings of the 8th ACM SIGITE Conference on Information Technology Education (SIGITE '07). ACM, New York, NY, USA, 91--98. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Alexandra Georgakopoulou. 2011. Pragmatics in Practice. John Benjamins Publishing, 326.Google ScholarGoogle Scholar
  11. Christopher M. Hoadley, Marcia C. Linn, Lydia M. Mann, and Michael J. Clancy. 1996. When and why do novice programmers reuse code? Ablex Publishing Company, 109--130.Google ScholarGoogle Scholar
  12. Alejandro Jaimes, Daniel Gatica-Perez, Thomas S. Huang, and Nicu Sebe. 2007. Guest Editors' Introduction: Human-Centered Computing--Toward a Human Revolution. Computer 40 (05 2007), 30--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. John Kammersgaard. 1988. Four Different Perspectives on Human-computer Interaction. Int. J. Man-Mach. Stud. 28, 4 (April 1988), 343--362. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Caitlin Kelleher and Randy Pausch. 2005. Lowering the Barriers to Programming: A Taxonomy of Programming Environments and Languages for Novice Programmers. ACM Comput. Surv. 37, 2 (June 2005), 83--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Walid Maalej, Rebecca Tiarks, Tobias Roehm, and Rainer Koschke. 2014. On the Comprehension of Program Comprehension. ACM Trans. Softw. Eng. Methodol. 23, 4, Article 31 (Sept. 2014), 37 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Katherine Malan and Ken Halland. 2004. Examples That Can Do Harm in Learning Programming. In Companion to the 19th Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications (OOPSLA '04). ACM, New York, NY, USA, 83--87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Luana Müller, Milene Selbach Silveira, and Clarisse Sieckenius de Souza. 2015. Mine, Yours, Ours: Examples Reuse and the Self-expression of Programming Students. In Proceedings of the 14th Brazilian Symposium on Human Factors in Computing Systems (IHC '15). ACM, New York, NY, USA, Article 30, 10 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Brad A. Myers, Andrew J. Ko, Thomas D. LaToza, and YoungSeok Yoon. 2016. Programmers Are Users Too: Human-Centered Methods for Improving Programming Tools. Computer 49, 7 (July 2016), 44--52.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Lisa R. Neal. 1989. A System for Example-based Programming. SIGCHI Bull. 20, SI (March 1989), 63--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Charles S. Peirce, Charles Hartshorne, and Paul Weiss. 1932. Collected Papers of Charles Sanders Peirce. Belknap Press of Harvard University Press. https://books.google.com.br/books?id=u9fWAAAAMAAJGoogle ScholarGoogle Scholar
  21. Donald A. Schön. 2017. The Reflective Practitioner: How Professionals Think in Action. Taylor & Francis. https://books.google.com.br/books?id=OT9BDgAAQBAJGoogle ScholarGoogle Scholar
  22. Manuel Sojer. 2010. Reusing Open Source Code: Value Creation and Value Appropriation Perspectives on Knowledge Reuse. Gabler Verlag. https://books.google.com.br/books?id=-z60hspDTIACGoogle ScholarGoogle Scholar
  23. Gunnar Stevens, Volkmar Pipek, and Volker Wulf. 2009. Appropriation Infrastructure: Supporting the Design of Usages. Springer Berlin Heidelberg, Berlin, Heidelberg, 50--69.Google ScholarGoogle Scholar
  24. James V. Wertsch. 1998. Mind as Action. Oxford University Press. https://books.google.com.br/books?id=73Vv7Y3vf14CGoogle ScholarGoogle Scholar
  25. Jeannette M. Wing. 2006. Computational Thinking. Commun. ACM 49, 3 (March 2006), 33--35. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Do I Know What My Code is "Saying"?: A study on novice programmers' perceptions of what reused source code may mean

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        IHC '18: Proceedings of the 17th Brazilian Symposium on Human Factors in Computing Systems
        October 2018
        488 pages
        ISBN:9781450366014
        DOI:10.1145/3274192

        Copyright © 2018 ACM

        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 ACM 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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 22 October 2018

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited

        Acceptance Rates

        IHC '18 Paper Acceptance Rate42of166submissions,25%Overall Acceptance Rate331of973submissions,34%
      • Article Metrics

        • Downloads (Last 12 months)7
        • Downloads (Last 6 weeks)1

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader