MIROLO, C.IZU, C.LONATI, V.SCAPIN, E.2025-07-172025-07-172021Informatics in Education, 2021; 20(4):615-6391648-58312335-8971https://hdl.handle.net/2440/146074Pub. online: 5 August 2022When we “think like a computer scientist,” we are able to systematically solve problems in different fields, create software applications that support various needs, and design artefacts that model complex systems. Abstraction is a soft skill embedded in all those endeavours, being a main cornerstone of computational thinking. Our overview of abstraction is intended to be not so much systematic as thought provoking, inviting the reader to (re)think abstraction from different – and perhaps unusual – perspectives. After presenting a range of its characterisations, we will explore abstraction from a cognitive point of view. Then we will discuss the role of abstraction in a range of computer science areas, including whether and how abstraction is taught. Although it is impossible to capture the essence of abstraction in one sentence, one section or a single paper, we hope our insights into abstraction may help computer science educators to better understand, model and even dare to teach abstraction skills.en© 2021 Vilnius University, ETH Zürich. Open access article under the CC BY license.computer science education; abstraction; computational thinking; concept development;Abstraction in Computer Science Education: An OverviewJournal article10.15388/infedu.2021.272024-02-14596328IZU, C. [0000-0002-7492-8886]