Practicing Abstraction through a Top-Down Problem-Solving Framework in a CS1 Course

[EN] Mastering abstraction skills is a crucial learning outcome for computer science students. However, students often struggle with these skills and can quickly feel overwhelmed when required to apply them. In our Introduction to Programming (CS1) course, we explicitly teach abstraction by providin...

Descripción completa

Detalles Bibliográficos
Autores: Brieven, Géraldine, Donnet, Benoit
Tipo de recurso: capítulo de libro
Fecha de publicación:2024
País:España
Institución:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:inglés
OAI Identifier:oai:riunet.upv.es:10251/206936
Acceso en línea:https://riunet.upv.es/handle/10251/206936
Access Level:acceso abierto
Palabra clave:Abstraction
Team-based learning
CDB
CS1
Problem Solving
Descripción
Sumario:[EN] Mastering abstraction skills is a crucial learning outcome for computer science students. However, students often struggle with these skills and can quickly feel overwhelmed when required to apply them. In our Introduction to Programming (CS1) course, we explicitly teach abstraction by providing a framework where students must solve problems from higher to lower levels of abstraction. This paper presents this framework and demonstrates its application through a collaborative activity that simulates large-scale development projects. This paper also examines students’ perception and performance at each level of abstraction over three sessions of the activity. The findings highlight the concepts that should be prioritized to better prepare students for each session. They also emphasize the importance of illustrating to students the function of abstraction in problem-solving and its relevance to their future work life, as a complement to traditional academic activities.