From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: *** X-Spam-Status: No, score=3.8 required=5.0 tests=BAYES_00,INVALID_MSGID, RATWARE_MS_HASH,RATWARE_OUTLOOK_NONAME autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public From: "Tim Behrendsen" Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/09/01 Message-ID: <01bb9835$4795aa20$87ee6fce@timpent.airshields.com>#1/1 X-Deja-AN: 177858059 references: <31FBC584.4188@ivic.qc.ca> <01bb83f5$923391e0$87ee6fce@timpent.airshields.com> <4uah1k$b2o@solutions.solon.com> <01bb853b$ca4c8e00$87ee6fce@timpent.airshields.com> <4udb2o$7io@solutions.solon.com> <01bb8569$9910dca0$87ee6fce@timpent.airshields.com> <4urqam$r9u@goanna.cs.rmit.edu.au> <01bb8b84$200baa80$87ee6fce@timpent.airshields.com> <4vbbf6$g0a@goanna.cs.rmit.edu.au> <01bb8f18$713e0e60$32ee6fce@timhome2> <4vroh3$17f@goanna.cs.rmit.edu.au> <01bb9360$21d0dbe0$87ee6fce@timpent.airshields.com> <503bq0$js@goanna.cs.rmit.edu.au> content-type: text/plain; charset=ISO-8859-1 organization: A-SIS mime-version: 1.0 newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada Date: 1996-09-01T00:00:00+00:00 List-Id: Richard A. O'Keefe wrote in article <503bq0$js@goanna.cs.rmit.edu.au>... > > You don't even BEGIN to know what world I want. > I can tell you for certain sure that we don't even begin to approach > hailing distance of the shadow of the world I want. > To start with, I would like students at entry > > [lots of crying out for thinking, engaged students] > > Tim Behrendsen, if you think assembler is more urgent than remedial > English and elementary mathematics, we shall just have to disagree. Well, now your getting into a whole other can o' worms. I completely agree with you that today's students are woefully unprepared. Part of it is (at least here in the US) the complete collapse of the public school system, and part of the reason is the explosion of knowledge of the last 50 years means that nothing can be taught in a complete way. I agree that education must get away from knowledge packing and get back to the basics of learning to think. To tell you the truth, I'm not sure education has *ever* been devoted to learning to think, but "knowledge packing"-style education will simply collapse because there is too much knowledge. But to bring it back to learning to program; don't underestimate the specialized skills required to learn to "think like a programmer". Programming is a quite unique skill blending abstract problem solving with concrete data movement. Yet, the data movement is still abstract. I believe that the more you can build a programming foundation on concrete principles, the more likely a student will "get it." Why do many people teach sorting using a deck of cards? It's because the student can see the cards moving around in a concrete way. When a student is taught using a *simple* assembly, they experience the bytes moving around in a nice flat map. This makes the concepts concrete, because it's as if they are moving marbles around in little boxes. They can experience the data moving around, without the confusion of the syntax. I think one of the biggest myths in computer science is that "HLL syntax is simple to understand." -- Tim Behrendsen (tim@airshields.com)