I feel at odds at times, as there is a tension between exploration, making and learners gaining a grasp of the underlying concepts.
There seem to be a number of potential problems.
I think it can be easy for learners to get into ‘bad habits’ that are then hard to break and may even switch them off as they try to make progress (finely grained programs, poor naming, long programs with no modularity).
Also, I see teachers resorting to getting pupils to copy code - when the learners want to get to an end objective but there is not time - or if the pupils skill set just won’t get to that point without lots of extra exploration and guidance. I don’t like copy code I think it leads to learned helplessness (Phil Bagge idea) and gives learners the wrong view of what computing is about. Also NO creativity happens.
I feel like there should be a middle ground, blended - as suggested by some research communities. With some targetted tasks to teach specific difficult skills - introduced by reading code activities, debugging tasks, evaluating high quality programs etc etc
But is this blended approach with some guided exploration, targetted tasks, live coding demonstrations seen as negative -as its not pure exploration?
I am not quite sure how to reconcile this.
Projects can be overwhelming if there is no scaffolding and/or learners are low in self regulation, self confidence or skills. Learners can be frustrated if their ambitions cannot be realised - that is their ideas are not ‘doable’ within the time frame available, their skill set, even the software and hardware available. This is a tricky.
What do LCL and other think? Pure exploration or blended?