Abstract
Most novice programmers write code that contains design smells which indicates that they are not understanding and applying important design concepts. This is especially true for students in degrees where programming, and by extension software design, is only a small part of the curriculum. This paper studies design smells in PROCESSING a language for new media and visual arts derived from Java. Language features - as well as common practices in the PROCESSING community - lead to language specific design smells. This paper defines design smells for PROCESSING, informed by a manual analysis of student code and community code. The paper describes how to detect these smells with static analysis. This serves two purposes, first to standardize design requirements, and second to assist educators with giving quality feedback. To validate its effectiveness we apply the tool to student code, community code, and code examples used by textbooks and instructors. This analysis also gives a good sense of common design problems in PROCESSING, their prevalence in novice code, and the quality of resources that students use for reference.
Original language | English |
---|---|
Title of host publication | Proceedings of the 10th International Conference on Computer Supported Education |
Editors | Bruce M. McLaren, Rob Reilly, Susan Zvacek, James Uhomoibhi |
Pages | 420-431 |
Number of pages | 12 |
Volume | 2 |
ISBN (Electronic) | 978-989-758-291-2 |
DOIs | |
Publication status | Published - 23 Mar 2018 |
Event | 10th International Conference on Computer Supported Education, CSEDU 2018 - Funchal, Portugal Duration: 15 Mar 2018 → 17 Mar 2018 Conference number: 10 http://www.csedu.org/?y=2018 |
Conference
Conference | 10th International Conference on Computer Supported Education, CSEDU 2018 |
---|---|
Abbreviated title | CSEDU 2018 |
Country/Territory | Portugal |
City | Funchal |
Period | 15/03/18 → 17/03/18 |
Internet address |