Assisting Novice Developers Learning in Flutter Through Cognitive-Driven Development
<|reference_start|>Assisting Novice Developers Learning in Flutter Through Cognitive-Driven Development: 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.<|reference_end|>
@article{ferreira2024assisting,
    title={Assisting Novice Developers Learning in Flutter Through Cognitive-Driven
  Development},
    author={Ronivaldo Ferreira, Victor H. S. Pinto, Cleidson R. B. de Souza,
  Gustavo Pinto},
    journal={arXiv preprint arXiv:2408.11209},
    year={2024},
    number={SBES Education Track 2024},
    archivePrefix={arXiv},
    eprint={2408.11209},
    primaryClass={cs.SE}
}