Yep. We don't start 1st graders with calculus, we start them with arithmetic. Variables are called variables by late elementary school, algebra is more properly taught as algebra in 8th or 9th grade (US), with geometry, trig, and calculus following that.
You can develop a similar plan for teaching programming that starts with basics and progressing (variables, linear control flow (aka, no conditionals or loops), conditionals, loops, functions/subroutines, complex types like records, recursion, modules and classes; in roughly that order). You aren't hiding anything, you aren't misstating anything, you just don't move on to advanced things until it's time to. Of course, this progression would probably be a lot faster than the arithmetic -> calculus progression.
"Until it's time to" is a completely arbitrary choice, though. I still am not convinced that it's tremendously important to introduce loops and conditionals before typing symbols into a computer is introduced. Would a class of students introduced to pre-programming seriously outperform a class of students not introduced to pre-programming in the long term? Certainly the short-term gains would be obvious, but I don't think there would be any difference in the long term, and the brilliant students from each group would be roughly equally matched after many years, with the primary differentiating factors being genetic ability and amount and type of studying, like it is in most other subjects.
The ex-Soviets I know speak reverently of the superiority of Soviet mathematics education, which begun much later than American mathematics education, and was far more rigorous.
There's certainly nothing wrong if a child wants to explore pre-programming on their own, but I think there is little to no value in deliberately exposing them to it in a bastardized form in order to "prepare them for what they'll see later".
Also, the assumption that there actually should be an arithmetic -> calculus progression is itself a pernicious issue- reference page 24 of this PDF for an extremely accurate takedown of the American mathematics curriculum: https://www.maa.org/external_archive/devlin/LockhartsLament....
Comments
Yep. We don't start 1st graders with calculus, we start them with arithmetic. Variables are called variables by late elementary school, algebra is more properly taught as algebra in 8th or 9th grade (US), with geometry, trig, and calculus following that.
You can develop a similar plan for teaching programming that starts with basics and progressing (variables, linear control flow (aka, no conditionals or loops), conditionals, loops, functions/subroutines, complex types like records, recursion, modules and classes; in roughly that order). You aren't hiding anything, you aren't misstating anything, you just don't move on to advanced things until it's time to. Of course, this progression would probably be a lot faster than the arithmetic -> calculus progression.
"Until it's time to" is a completely arbitrary choice, though. I still am not convinced that it's tremendously important to introduce loops and conditionals before typing symbols into a computer is introduced. Would a class of students introduced to pre-programming seriously outperform a class of students not introduced to pre-programming in the long term? Certainly the short-term gains would be obvious, but I don't think there would be any difference in the long term, and the brilliant students from each group would be roughly equally matched after many years, with the primary differentiating factors being genetic ability and amount and type of studying, like it is in most other subjects.
The ex-Soviets I know speak reverently of the superiority of Soviet mathematics education, which begun much later than American mathematics education, and was far more rigorous.
There's certainly nothing wrong if a child wants to explore pre-programming on their own, but I think there is little to no value in deliberately exposing them to it in a bastardized form in order to "prepare them for what they'll see later".
Also, the assumption that there actually should be an arithmetic -> calculus progression is itself a pernicious issue- reference page 24 of this PDF for an extremely accurate takedown of the American mathematics curriculum: https://www.maa.org/external_archive/devlin/LockhartsLament....