Analyzing students' software redesign strategies

Sylvia Stuurman, Harrie J. M. Passier, Erik Barendsen · 2016

The design of software is known to be difficult for novice computer scientists. In this paper, we focus on software redesign and on the refactoring necessary to implement a redesign. Redesigning an application aims to improve non-functional aspects such as extensibility, without changing the functionality. Redesign is a complex task, involving knowledge and skills from software design in general and the use of design patterns in particular. This study is part of an educational design research project aiming at developing scaffolding for students' software redesign activities in the form of procedural guidance. We investigated students' strategies and usage of concepts during a software redesign assignment using students' reports and team colllaboration recordings as data sources, thus focusing on the process instead of on the design results, in contrast with existing studies. We identified several difficulties that can serve as starting points for procedural guidance. For instance, students seem to avoid using a structured analysis method. Our findings indicate that students' activities were mainly directed towards the code rather than the design problem.

Read the paper · More papers on PaperTik