Creative programming is a knowledge modeling activity with a high cognitive and metacognitive potential. However, when introducing programming to novices, some learning activities are limited to procedural step-by-step puzzle-based coding activities which does not reflect the creative potential of programming. As shown in the figure below, we distinguish five levels of creative engagement in computer programming education according to the creative learner engagement: (1) passive exposure to teacher-centered explanations, videos or tutorials related to code or programming; (2) procedural step-by-step programming; (3) individual creative programming activities (e.g. creating a story and programming it); (4) co-creative programming activities in teams, and finally, (5) participatory co-creation of knowledge through programming.

Fig 1. From passive and procedural programming to co-creative programming.
References
Romero, M. (2016, in press). De l’apprentissage procédural de la programmation à l’intégration interdisciplinaire de la programmation créative. Formation et profession.