Re:Again on 0-based vs. 1-based indexing
by gjm11 on Wednesday January 20, 2021 @10:49AM
(#25847808)
Back in the mid-to-late 20th century, there was a movement to teach mathematics rather that way, though I don't think it ever got as far as teaching small children the Peano axioms. The "New Mathematics", they called it. I remember encountering talk of sets and functions in UK primary school circa 1975.
It never worked very well in practice. I expect that when you're fortunate enough to have unusually able teachers teaching unusually able pupils it might do OK -- but then, in that situation, anything will do OK.
(Tom Lehrer fans will know about this from his song "New Math", with "It's so simple, so very simple, that only a child can do it" in the refrain.)
Re:Again on 0-based vs. 1-based indexing
by cpcallen on Wednesday January 20, 2021 @05:34PM
(#25852867)
For the record: Lehrer-style "new math" was what I was taught at elementary school in Ontario in the 1980s. I know it was not what my parents had been taught, because they couldn't understand how we did subtraction. We did do some other bases (mainly binary, as I recall) as well as modulus.
I certainly had unusually able teachers.
Re:Again on 0-based vs. 1-based indexing
by userbinator on Wednesday January 20, 2021 @03:44PM
(#25851739)
I don't think it's comparable to teaching arithmetic from a highly theoretical basis, since the type of low-level beginnings I'm advocating for are starting from a concrete foundation --- logic gates from relays and such, not unlike the approach used by Petzold's book Code.
Incidentally, that book has been praised for making computation easy to understand for non-programmers, which I would consider to be evidence for starting out low-level.
but times have changed
Not for the better, if you look at the average state of software today --- and I think a lot of it can be explained by the general lack of low-level knowledge.
FWIW I started with K&R, but times have changed and I definitely don't think it's a pedagogically sound way of teaching programming.