Authors:
Remco de Man
and
Ansgar Fehnker
Affiliation:
University of Twente, Netherlands
Keyword(s):
Software Smells, Code Smells, Design Smells, Programming Education, Software Design.
Related
Ontology
Subjects/Areas/Topics:
Computer-Supported Education
;
e-Learning
;
e-Learning Hardware and Software
;
e-Learning in Engineering Education
;
Learning/Teaching Methodologies and Assessment
;
Metrics and Performance Measurement
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 give
s a good sense of common design problems in PROCESSING, their prevalence
in novice code, and the quality of resources that students use for reference.
(More)