skip to main content
10.1145/3279720.3279736acmotherconferencesArticle/Chapter ViewAbstractPublication Pageskoli-callingConference Proceedingsconference-collections
short-paper

Earthworm: Automated Decomposition Suggestions

Authors Info & Claims
Published:22 November 2018Publication History

ABSTRACT

Functional decomposition is the process of breaking a larger problem into smaller subproblems so that each component implements only a single task. Although functional decomposition is integral to computer science, it is of ten overlooked in introductory computer science education due to the challenges of teaching and assessing it given limited resources.

Earthworm is a tool that leverages static analysis techniques to generate suggestions on how to improve the decomposition of Python programs. Each suggestion includes the lines of code that can be refactored into a new function, the arguments that must be passed to this function and the variables returned from the function. The tool is intended to be used in introductory computer science courses to help students develop decomposition skills.

References

  1. Tim Blok and Ansgar Fehnker. 2017. Automated Program Analysis for Novice Programmers. In Proceedings of the 3rd International Conference on Higher Education Advances (HEAd '17).Google ScholarGoogle Scholar
  2. Keith Cooper and Linda Torczon. 2011. Engineering A Compiler (2nd ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Tomche Delev and Dejan Gjorgjevikj. 2017. Static Analysis of Source Code Written by Novice Programmers. In Proceedings of the 2017 IEEE Global Engineering Education Conference (EDUCON). IEEE, 825--830.Google ScholarGoogle ScholarCross RefCross Ref
  4. Eclipse Foundation. 2017. Eclipse IDE.Google ScholarGoogle Scholar
  5. Nupur Garg. 2017. Code Decomposition: A New Hope. Master's thesis. California Polytechnic State University.Google ScholarGoogle Scholar
  6. JetBrains. 2017. IntelliJ IDEA.Google ScholarGoogle Scholar
  7. Aaron Keen and Kurt Mammen. 2015. Program Decomposition and Complexity in CS1. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE '15). ACM, New York, NY, USA, 48--53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. J. McCabe. 1976. A Complexity Measure. IEEE Transactions on Software Engineering 2, 4 (July 1976), 308--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Microsoft. 2017. Visual Studio.Google ScholarGoogle Scholar
  10. Nghi Truong, Paul Roe, and Peter Bancroft. 2004. Static Analysis of Students' Java Programs. In Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30 (ACE '04). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 317--325. http://dl.acm.org/citation.cfm?id=979968.980011 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Mark Weiser. 1981. Program Slicing. In Proceedings of the 5th International Conference on Software Engineering (ICSE '81). IEEE Press, Piscataway, NJ, USA, 439--449. http://dl.acm.org/citation.cfm?id=800078.802557 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Earthworm: Automated Decomposition Suggestions

        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
          Koli Calling '18: Proceedings of the 18th Koli Calling International Conference on Computing Education Research
          November 2018
          207 pages
          ISBN:9781450365352
          DOI:10.1145/3279720
          • Conference Chairs:
          • Mike Joy,
          • Petri Ihantola

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

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 22 November 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • short-paper
          • Research
          • Refereed limited

          Acceptance Rates

          Overall Acceptance Rate80of182submissions,44%
        • Article Metrics

          • Downloads (Last 12 months)16
          • Downloads (Last 6 weeks)2

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader