Abstract
Computer programming provides a framework for interdisciplinary learning in sciences, arts and languages. However, increasing integration of programming in K–12 shows that the block-based and text-based dichotomy of programming environments does not reflect the spectrum of their affordance. Hence, educators are confronted with a fundamental hurdle of matching programming environments with learners’ cognitive abilities and learning objectives. This study addresses this challenge by analyzing 111 articles evaluating the affordances of programming environments to identify both structural and theoretical models to support educators’ choice of programming environments. The following dimensions of programming environments were identified: connectivity mode, interface natural language, language inheritance, age appropriateness, cost of environment, output interface, input interface, and project types. For each of these dimensions, the synthesis of the literature ranged from examining its nature and effect on learning programming to the implications of choosing an environment and the critical gaps that future studies should address. The findings offer instructors useful parameters to compare and assess programming environments’ suitability and alignment with learning objectives.
Get full access to this article
View all access options for this article.
References
Supplementary Material
Please find the following supplemental material available below.
For Open Access articles published under a Creative Commons License, all supplemental material carries the same license as the article it is associated with.
For non-Open Access articles published, all supplemental material carries a non-exclusive license, and permission requests for re-use of supplemental material or any part of supplemental material shall be sent directly to the copyright owner as specified in the copyright notice associated with the article.
