paradigm could be child-specific. I sort of doubt it. The imperative paradigm is king because the underlying Von Neumann machine (the computer hardware) is imperative. But we’re not teaching ‘preparatory pre-assembler’ class any more.
If I were introducing children to computation, I’d start with playing with syringes, tubing, and valves, to develop facility with reactive systems in an apparent context.
Then move to a reactive software system - some NodeRed like visual programming system that runs a robot, probably.
Then introduce an agent universe and move to action in the picture plane, moving sprites around the screen. Crazy Machines, New from the lab comes to mind.
I’d introduce logic programming, (as constraint logic programming?) in a syntax-supporting blocks programming system that was imbedded in the previous system.
And then transition to a text based logic/functional reactive system and use Kowalski’s method and project based learning to teach other subjects using it.
8cD It’d be a big disaster.
I’d introduce imperative programming only when the gold owners forced it on me, probably in the form of the maniac Java standardized testing.
You know, my own ideas sound great for 24 hours, and I just wrote this, but yeah, I think we’re starting on a real pedagogy of computational thinking here.
I’m not a professional educator, just a computer scientist/engineer with an interest in education. But the above moves smoothly from a world of physical intuition to a world of computation. Which honestly isn’t something i’ve seen before.