Programming is more than just coding, for, it exposes students to computational thinking which involves problem-solving using computer science concepts like abstraction and decomposition. Even for non-computing majors, computational thinking is applicable and useful in their daily lives. The three dimensions of computational thinking are computational concepts, computational practices and computational perspectives. In recent years, the availability of free and user-friendly programming languages has fuelled the interest of researchers and educators to explore how computational thinking can be introduced in K-12 contexts. Through an analysis of 27 available intervention studies, this paper presents the current trends of empirical research in the development of computational thinking through programming and suggests possible research and instructional implications. From the review, we propose that more K-12 intervention studies centering on computational practices and computational perspectives could be conducted in the regular classroom. To better examine these two dimensions, students could be asked to verbalize their thought process using think aloud protocol while programming and their on-screen programming activity could be captured and analyzed. Predetermined categories based on both past and recent programming studies could be used to guide the analysis of the qualitative data. As for the instructional implication, it is proposed that a constructionism-based problem-solving learning environment, with information processing, scaffolding and reflection activities, could be designed to foster computational practices and computational perspectives. 2014 Elsevier Ltd. All rights reserved.