Assisting Novice Developers Learning in Flutter Through Cognitive-Driven Development

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Ferreira, Ronivaldo, Pinto, Victor H. S., de Souza, Cleidson R. B., Pinto, Gustavo
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866917754604355584
author Ferreira, Ronivaldo
Pinto, Victor H. S.
de Souza, Cleidson R. B.
Pinto, Gustavo
author_facet Ferreira, Ronivaldo
Pinto, Victor H. S.
de Souza, Cleidson R. B.
Pinto, Gustavo
contents Cognitive-Driven Development (CDD) is a coding design technique that helps developers focus on designing code within cognitive limits. The imposed limit tends to enhance code readability and maintainability. While early works on CDD focused mostly on Java, its applicability extends beyond specific programming languages. In this study, we explored the use of CDD in two new dimensions: focusing on Flutter programming and targeting novice developers unfamiliar with both Flutter and CDD. Our goal was to understand to what extent CDD helps novice developers learn a new programming technology. We conducted an in-person Flutter training camp with 24 participants. After receiving CDD training, six remaining students were tasked with developing a software management application guided by CDD practices. Our findings indicate that CDD helped participants keep code complexity low, measured using Intrinsic Complexity Points (ICP), a CDD metric. Notably, stricter ICP limits led to a 20\% reduction in code size, improving code quality and readability. This report could be valuable for professors and instructors seeking effective methodologies for teaching design practices that reduce code and cognitive complexity.
format Preprint
id arxiv_https___arxiv_org_abs_2408_11209
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Assisting Novice Developers Learning in Flutter Through Cognitive-Driven Development
Ferreira, Ronivaldo
Pinto, Victor H. S.
de Souza, Cleidson R. B.
Pinto, Gustavo
Software Engineering
Cognitive-Driven Development (CDD) is a coding design technique that helps developers focus on designing code within cognitive limits. The imposed limit tends to enhance code readability and maintainability. While early works on CDD focused mostly on Java, its applicability extends beyond specific programming languages. In this study, we explored the use of CDD in two new dimensions: focusing on Flutter programming and targeting novice developers unfamiliar with both Flutter and CDD. Our goal was to understand to what extent CDD helps novice developers learn a new programming technology. We conducted an in-person Flutter training camp with 24 participants. After receiving CDD training, six remaining students were tasked with developing a software management application guided by CDD practices. Our findings indicate that CDD helped participants keep code complexity low, measured using Intrinsic Complexity Points (ICP), a CDD metric. Notably, stricter ICP limits led to a 20\% reduction in code size, improving code quality and readability. This report could be valuable for professors and instructors seeking effective methodologies for teaching design practices that reduce code and cognitive complexity.
title Assisting Novice Developers Learning in Flutter Through Cognitive-Driven Development
topic Software Engineering
url https://arxiv.org/abs/2408.11209