Computational Thinking Tools: Analyzing concurrency and its representations

Cleyton Slaviero, Edward Herman Haeusler

Abstract


Computational thinking (CT) tools, as a software system, express their designers' perspective on how a selected set of Computer Science concepts should be introduced, typically hiding details to avoid unnecessary complexity. This paper focuses on how concurrency is dealt with by five well-known tools in this domain: Scratch, Alice, AgentSheets, NetLogo and Greenfoot. We present the results of a systematic analysis contrasting their model of concurrent behavior with the corresponding metamessages, the messages about messages of concurrency, that trigger users' interpretation and learning of concurrency-related concepts. We present and discuss the conceptualizations that potentially emerge from using these five tools and compare them with established concurrency concepts. Our findings indicate opportunities for an explicit exploration of how some concurrency aspects are implemented in games and simulations built with CT tools. We believe that this might facilitate future learning and comprehension of complex concurrency concepts, considering that the knowledge embedded in these tools can also influence students’ understanding of concurrency.

Keywords


computer science education; programming; concurrent programming; semiotic engineering

Full Text:

PDF