Thanks everyone! I will start with introducing the book (I was mainly interested in your feedback on that one). I agree, Raspberry Pi is also useful! I was concerned with the timing of such a piecemeal introduction of the computer organization to budding programmers. Looks like *now* is an appropriate time. I talked of JavaScript only to give you a background of the subject (the high-schooler).
Regards, Kedar On Fri, Oct 19, 2018 at 6:43 AM Ben Evans <[email protected]> wrote: > Also - don't forget about the Raspberry Pi. They are a fantastic > platform for hobbyists, including teenagers. > > They are surprisingly capable little machines, but it's still very > possible to run up against their limitations. In my opinion, they > provide the closest modern equivalent to the home computers of the 80s > (which I'm guessing that many of us cut our milk teeth on) that > required even a novice programmer to think about the machine and its > behaviour rather than the far-abstracted and extremely powerful / > well-resourced systems that modern laptops / desktops are. > > +1 to the Julia Evans (no relation) suggestion too... > > Ben > On Fri, 19 Oct 2018 at 09:22, William Pietri <[email protected]> wrote: > > > > I don't deal with high-schoolers much, so take this with a grain of > salt. But I have tried to teach mechanical sympathy to young engineers from > non-traditional backgrounds, so I have one small suggestion to add to the > excellent advice so far. > > > > My mechanical sympathy started with working on machines where > performance issues were visible. On an Apple II, you knew if disk access > was the problem because the floppy disk made a lot of noise; you could hear > the seeks and the steady reads. You knew about network activity because you > could watch the modem lights blink, or pick up the phone and listen to the > pattern of the bits flowing. So early on, when something was slow, I > developed intuitions as to why. > > > > My computers have since gotten very quiet, but I still have the right > edge of the screen devoted to a gkrellm display with a dense display of > indicators. And any time I'm waiting, I check it to make sure the displays > match my intuition. When I'm wrong, I pull out richer tools to find out why. > > > > So my suggestion is to provide visual or auditory indicators of what you > want them to have sympathy with. Then, every time they are waiting on the > machine, quiz them as to why. Get them in the habit of guessing as to what > the machine is doing and then finding out whether they're right. > > > > As to the finding out part, you also might want to get them some copies > of Julia Evans' zines, which cover topics like perf, tcpdump, strace, and > debuggers. They're lively, approachable, and excellent. Her enthusiasm is > contagious. > > > > The zines themselves are here: https://jvns.ca/zines/ > > > > She also has a blog that I like a lot: https://jvns.ca/ > > > > > > William > > > > -- > > 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.
