The Smell of Processing
Remco de Man, Ansgar Fehnker
2018
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.
DownloadPaper Citation
in Harvard Style
de Man R. and Fehnker A. (2018). The Smell of Processing.In Proceedings of the 10th International Conference on Computer Supported Education - Volume 2: CSEDU, ISBN 978-989-758-291-2, pages 420-431. DOI: 10.5220/0006701704200431
in Bibtex Style
@conference{csedu18,
author={Remco de Man and Ansgar Fehnker},
title={The Smell of Processing},
booktitle={Proceedings of the 10th International Conference on Computer Supported Education - Volume 2: CSEDU,},
year={2018},
pages={420-431},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006701704200431},
isbn={978-989-758-291-2},
}
in EndNote Style
TY - CONF
JO - Proceedings of the 10th International Conference on Computer Supported Education - Volume 2: CSEDU,
TI - The Smell of Processing
SN - 978-989-758-291-2
AU - de Man R.
AU - Fehnker A.
PY - 2018
SP - 420
EP - 431
DO - 10.5220/0006701704200431