{"title":"Earthworm: Automated Decomposition Suggestions","authors":"Nupur Garg, Aaron W. Keen","doi":"10.1145/3279720.3279736","DOIUrl":null,"url":null,"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.","PeriodicalId":411873,"journal":{"name":"Proceedings of the 18th Koli Calling International Conference on Computing Education Research","volume":"41 2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 18th Koli Calling International Conference on Computing Education Research","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3279720.3279736","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
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.