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...

Full description

Bibliographic Details
Authors: Brieven, Géraldine, Donnet, Benoit
Format: book part
Publication Date:2024
Country:España
Institution:Universitat Politècnica de València (UPV)
Repository:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Language:English
OAI Identifier:oai:riunet.upv.es:10251/206936
Online Access:https://riunet.upv.es/handle/10251/206936
Access Level:Open access
Keyword:Abstraction
Team-based learning
CDB
CS1
Problem Solving
Description
Summary:[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.