skip to main content
10.1145/1719970.1720001acmconferencesArticle/Chapter ViewAbstractPublication PagesiuiConference Proceedingsconference-collections
research-article

A code reuse interface for non-programmer middle school students

Published:07 February 2010Publication History

ABSTRACT

We describe a code reuse tool for use in the Looking Glass IDE, the successor to Storytelling Alice [17], which enables middle school students with little to no programming experience to reuse functionality they find in programs written by others. Users (1) record a feature to reuse, (2) find code responsible for the feature, (3) abstract the code into a reusable Actionscript by describing object "roles," and (4) integrate the Actionscript into another program. An exploratory study with middle school students indicates they can successfully reuse code. Further, 36 of the 47 users appropriated new programming constructs through the process of reuse.

Skip Supplemental Material Section

Supplemental Material

p219-gross.mp4

mp4

8.6 MB

References

  1. Brandt, J., Dontcheva, M., Weskamp, M., and Klemmer, S.R. Example-Centric Programming: Integrating Web Search into the Development Environment. Stanford University Technical Report, CSTR-2009-01.Google ScholarGoogle Scholar
  2. Bruckman, A. MOOSE Crossing: Construction, Community, and Learning in a Networked Virtual World for Kids. MIT Media Lab. Boston, MA., 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Cottrell, R., Chang, J., Walker, R.J., and Denzinger, J. Determining detailed structural correspondence for generalization tasks. Proc. SIGSOFT, (2007), 165--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cottrell, R., Walker, R.J., and Denzinger, J. Semi-automating small-scale source code reuse via structural correspondence. Proc. SIGSOFT (2008), 214--225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Duala-Ekoko, E. and Robillard, M.P. Tracking Code Clones in Evolving Software. Proc. ICSE (2007), 158--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Fischer, G., Henninger, S., and Redmiles, D. Cognitive tools for locating and comprehending software objects for reuse. Proc. ICSE (1991), 318--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Gill, J. Shedding Some New Light on Old Truths: Student Attitudes to School in Terms of Year Level and Gender. Proc. of the American Educational Research Association. (1994).Google ScholarGoogle Scholar
  8. Goldman, M. and Miller, R. Codetrail: Connecting source code and web resources. Proc. VL/HCC (2008), 65--72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Gross, P. and Kelleher, C. Non-programmers Identifying Functionality in Unfamiliar Code: Strategies and Barriers. Proc. VL/HCC (2009), 75--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hartmann, B., Wu, L., Collins, K., and Klemmer, S.R. Programming by a sample: rapidly creating web applications with d.mix. Proc. UIST, ACM (2007), 241--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hoffmann, R., Fogarty, J., and Weld, D.S. Assieme: finding and leveraging implicit references in a web search interface for programmers. Proc. UIST, ACM (2007), 13--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Holmes, R., Walker, R., and Murphy, G. Approximate Structural Context Matching: An Approach to Recommend Relevant Examples. IEEE Trans. On Soft. Eng. (2006), 952--970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Holmes, R., Cottrell, R., Walker, R.J., and Denzinger, J. The End-to-End Use of Source Code Examples: An Exploratory Study. Proc. ICSM, (2009), to appear.Google ScholarGoogle ScholarCross RefCross Ref
  14. Holmes, R., Walker, R.J., and Murphy, G.C. Strathcona example recommendation tool. Proc. ESEC/FSE, ACM (2005), 237--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jablonski, P. and Hou, D. CReN: a tool for tracking copy-and-paste code clones and renaming identifiers consistently in the IDE. Proc. OOPSLA, ACM (2007), 16--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Kelleher, C. and Pausch, R. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv. 37, 2 (2005), 83--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kelleher, C. and Pausch, R. Using storytelling to motivate programming. Comm. of ACM 50, 7 (2007), 58--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kelleher, C., Pausch, R., and Kiesler, S. Storytelling alice motivates middle school girls to learn computer programming. Proc. CHI, ACM (2007), 1455--1464. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Ko, A.J. and Myers, B.A. Designing the whyline: a debugging interface for asking questions about program behavior Proc. CHI, ACM (2004), 151--158. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Krueger, C.W. Software reuse. ACM Comput. Surv. 24, 2 (1992), 131--183. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lanza, M. CodeCrawler-lessons learned in building a software visualization tool. Proc. CSMR, (2003), 409--418. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Leshed, G., Haber, E.M., Matthews, T., and Lau, T. CoScripter: automating & sharing how--to knowledge in the enterprise. Proc. CHI, ACM (2008), 1719--1728. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Lucredio, D., Prado, A., and de Almeida, E. A survey on software components search and retrieval. Proc. Euromicro Conference (2004), 152--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Lukoit, K., Wilde, N., Stowell, S., and Hennessey, T. TraceGraph: immediate visual location of software features. Proc. ICSM, (2000), 33--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Maloney, J., Burd, L., Kafai, Y., Rusk, N., Silverman, B., and Resnick, M. Scratch: a sneak preview {education}. Proc. C5 (2004), 104--109. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Mili, H., Mili, F., and Mili, A. Reusing software: issues and research directions. Software Engineering, IEEE Trans. on Soft. Eng. 21, 6 (1995), 528--562. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Mili, A., Mili, R., and Mittermeir, R. A survey of software reuse libraries. Annals of Soft. Eng. 5, 1 (1998), 349--414. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Olney, S. and Myers, B. FireCrystal: Understanding Interactive Behaviors in Dynamic Web Pages. Proc. VL/HCC, (2009), 105--108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Prieto-Diaz, R. Status report: software reusability. IEEE Software 10, 3 (1993), 61--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Ruthruff, J., Creswick, E., Burnett, M., et al. End-user software visualizations for fault localization. Proc. SoftVis, ACM (2003), 123--132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Sahavechaphan, N. and Claypool, K. XSnippet: mining for sample code. SIGPLAN Not. 41, 10 (2006), 413--430. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Schafer, T., Eichberg, M., Haupt, M., and Mezini, M. The SEXTANT Software Exploration Tool. IEEE Trans. on Soft. Eng. 32, 9 (2006), 753--768. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Storey, M. and Muller, H. Manipulating and documenting software structures using SHriMP views. Proc. ICSM, (1995), 275--284. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Thummalapenta, S. and Xie, T. Parseweb: a programmer assistant for reusing open source code on the web. Proc. ASE, ACM (2007), 204--213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Yongbeom, Kim and Stohr, E.A. Software Reuse: Survey and Research Directions. Journal of Management Info. Sys. 14, 4 (1998), 113--147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Zimmer, L. and Bennett, S. Gender differences on the California statewide assessment of attitudes and achievement in science. Proc. of the American Educational Research Association, (1987).Google ScholarGoogle Scholar
  37. Zweben, S. 2007-2008 Taulbee Survey. Computing Research News 21, 3 (2009), 8--23.Google ScholarGoogle Scholar

Index Terms

  1. A code reuse interface for non-programmer middle school students

    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 Conferences
      IUI '10: Proceedings of the 15th international conference on Intelligent user interfaces
      February 2010
      460 pages
      ISBN:9781605585154
      DOI:10.1145/1719970

      Copyright © 2010 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: 7 February 2010

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate746of2,811submissions,27%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader