I don't see it mentioned and I am bit surprised, but teaching kids how to breakdown "common" tasks into instructions. No programming language needed. Then, introducing edge cases.
I remember a programmer making a video about their child writing instructions to "make p&j" sandwich.
Did you check if you have PB?
What happens if you don't?
Did you put the bread down first? Or are you applying PB to the counter.
That's the imperative programming case. Declarative programming is about defining each part of the final result.
What's a peanut butter and jelly and sandwich (the result)? It's a slice of bread atop a layer of peanut butter atop a layer of jelly atop a slice of bread. Recursively define each part, for instance defining a layer of jelly in terms of manipulated blobs of jelly. Reverse the order of the definitions if using an early-binding language.
(setq p&j-sandwich '(bread-slice peanut-butter-layer jelly-layer bread-slice))
;; TODO work out why jelly layer isn't transferred to sandwich in one piece
(setq bread-slice (with-tool bread-knife (slice bread-loaf)))
(setq jelly-layer (with-tool table-knife (spread jelly-blob)))
...
Disclaimer: I've never eaten nor made a P&J sandwich; please consider this code experimental...
Being made to write out instructions like that sounds like total misery. Maybe not as I haven't seen the video.
I'm a bit sceptical about teaching kids to program, it feels a bit like teaching them plumbing or some or trained skill. Though I'll probably introduce my daughters to it and see if they are interested. If not we can do something else.
Plumbing skills are not a terrible thing to have actually, but I would see this more like teaching literacy and math... basic ability to manipulate data, think logically, and debug your ideas is going to be useful regardless of what field the person might end up in, imho.
Have there been any studies showing, e.g. correlation between having been exposed to programming techniques at an early age and better critical/ logical thinking skills later on in life? I'd be surprised if there were none, but equally I'd wonder how much was really cause and effect, vs kids with inherently more analytical mindsets more likely to opt for and spend time on learning how to code in the first place.
I remember a programmer making a video about their child writing instructions to "make p&j" sandwich. Did you check if you have PB? What happens if you don't? Did you put the bread down first? Or are you applying PB to the counter.