If he likes it, why not. Even something like https://projecteuler.net/ can be seen as a great game. I love https://codecombat.com/ for younger.
Then, in general, what I have seen is: 1. Code stuff. 2. What to do something. 3. Get stuck on something 4. Learn whatever is needed to be unstuck That's pretty much it. In general, mechanical sympathy comes far far far in the list. Even normal programmers can avoid it most of their career. But algorithmics gets useful quite quickly. When you hear him say "Why is it that slow?" then you know you can go teach it. Tests can be taught the same way. However, learning about how a computer works does help. Kids love it. I liked TIS-100 (a game) for showing assembly. However, I never tried with a teen. Might be a bit complex. But sometimes we are surprised. I do agree with Greg and Martin though, Javascript is a very bad language for explaining a computer. C is better indeed. But make sure that's what he wants. My final word of wisdom would be: Please let him create. I tired of stupid questions like "Are lambdas faster than anonymous inner classes?" because the answer is in general: "For what you are doing, you don't %$# care". I don't want a kid to be stuck and slowed down in his creativity by these questions. Until he is blocked by one of them. On Thu, 18 Oct 2018 at 08:33, kedar mhaswade <[email protected]> wrote: > There have been some arguments about this topic. In general, we seem to > agree that kids should start programming at higher levels. Showing sympathy > for the machine rather too early is perhaps counter productive. But how > early is too early? > > I was thinking of introducing Jonathan Bartlett's Programming from the > Ground Up > <https://download-mirror.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf> > to a high schooler who has been programming for some time (e.g. understands > constructs like loops and functions, data structures like arrays and stacks > and has written several programs in JavaScript). My argument has been that > Bartlett effectively uncovers the way the machine looks and works from the > inside just to the right level of detail and that may provide a favorable > *perspective* on programming. > > What do people think? What are the factors *against* such an > introduction? What does research suggest? > > Regards, > Kedar > > -- > You received this message because you are subscribed to the Google Groups > "mechanical-sympathy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
