Informatics in Education (Dec 2021)

Abstraction in Computer Science Education: An Overview

  • Claudio MIROLO,
  • Cruz IZU,
  • Violetta LONATI,
  • Emanuele SCAPIN

DOI
https://doi.org/10.15388/infedu.2021.27
Journal volume & issue
Vol. 20, no. 4
pp. 615 – 639

Abstract

Read online

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

Keywords