How students design simple programs. An study on the effort and perceptions of the design activity.
Software design seeks to contribute to developing quality software. During the design phase, the requirements are translated into a representation of the software (also known as design), whose quality can be evaluated and improved. For graduating students, software design is difficult to understand and produce. In fact, producing a good design seems to require a certain level of cognitive development that few students achieve.
The aims of this study are, on the one hand, to know the effort devoted by students to software design, how is the effort variation throughout the different exercises and how is the effort variation between students. On the other hand, we analyzed the software quality during the exercises and the students’ perception of the problems they related to design.
We found that students spend at least 3 times as much time on coding as on design. Also, regarding design, students have highly variable behavior among themselves and also highly variable behavior when developing different programs. We believe this may be due to a lack of knowledge on design, a lack of knowledge of the importance of design in software quality and an important lack of habits and discipline when developing software. Also, we found that students did not produce better quality products in the latest exercises compared with the first ones.