"But when they do learn about “programming”, say in high school, what do they actually learn? There’s usually a lot of syntactic detail, but the top concepts tend to be conditionals, loops and variables. As someone who’s spent most of his life thinking about computation, this is really disappointing. Yes, these concepts are certainly part of low-level computer languages. But they’re not central to what we now broadly understand as computation—and in computational thinking in general they’re at best side shows."
Is our approach to teaching kids to code wrong? Do we put too much emphasis on what Wolfram calls the top concepts (loops, variables, etc) and language specific syntax - and not enough emphasis on how to think computationally?
He's actually saying that the fact that conditionals, loops, and variables are the 'top concepts', i.e. the most challenging they'll encounter in that curriculum, is disappointing.
I'm curious what others think of his observation. Is he right? Are we potentially turning off a lot of kids from engineering by focusing on these "top concepts" versus more computation like thinking projects?
Is our approach to teaching kids to code wrong? Do we put too much emphasis on what Wolfram calls the top concepts (loops, variables, etc) and language specific syntax - and not enough emphasis on how to think computationally?