I. Introduction
Computational thinking (CT) is a set of practices, concepts, and methods from computer science that support problem-solving and representation of complex phenomena across disciplinary areas [1]. These practices include abstraction, decomposition, algorithm design, automation, and debugging among others. Professionals from any discipline can use these practices for modeling complex phenomena, representing knowledge, and processing large datasets. These practices can support student learning within disciplinary learning environments, while the disciplines provide a meaningful context to develop computational thinking skills [2].