Assessing cognitive components of computational thinking | Synapse