Innovating Coding: Evaluating the Impact of Innovative Thinking in ProgrammingICPCICPC ERA Paper
The software engineering research community has begun recognizing the importance of human factors in the field. Yet, there remains a limited focus on the role of creativity in software development phases beyond requirement engineering. Given that software development fundamentally entails problem solving that requires creativity, this innovative paper explores the relationship between coding approaches and developer creativity, particularly in functionality development tasks.
In our study involving 77 participants, we aimed to evaluate the impact of creativity on developers’ innovative coding approaches. The creativity was evaluated using well-established psychometric tests. The task for the participants was to create a scoring function for an online JavaScript game. We analyzed their methods, particularly noting the use of visual-auditory elements like visual modifications and sound effects. Hierarchical clustering and the gap statistic were employed to identify distinct approaches. The results showed that participants with higher creativity scores used a diverse approach of utilizing a more comprehensive range of visual-auditory elements, including incorporating additional sounds and multiple animations into the game.
These preliminary results shed some light on the role and importance of creativity in programming. It paves the way for future software engineering education and training initiatives, suggesting ways to nurture creative thinking and enhance developer performance and engagement.