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=0.6 required=5.0 tests=BAYES_40,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,86fd56abf3579c34 X-Google-Attributes: gid103376,public X-Google-Thread: 10db24,77f71d0bde4c5bb4 X-Google-Attributes: gid10db24,public From: philip@cs.wits.ac.za (Philip Machanick) Subject: Re: Teaching OO/C++ Date: 1995/04/20 Message-ID: #1/1 X-Deja-AN: 101283282 references: <3kaksj$iur@isnews.calpoly.edu> <3mrv7h$3mq@larry.rice.edu> <3msnu4$6am@kaiwan009.kaiwan.com> organization: Computer Science Dept., Wits newsgroups: comp.lang.ada,comp.edu Date: 1995-04-20T00:00:00+00:00 List-Id: In article , cpp@netcom.com (Robin Rowe) wrote: > This is what tends to happen if you teach C first. How do you decide > when to call it quits and tell the students to forget half of everything > they learned to switch to C++? You don't have this difficulty if you > teach OO first, then present the syntax as support of it. (You have other > problems, like finding a textbook written this way.) I fully agree. I started my 2nd year class off (previously exposed to Pascal) with abstraction, classes and objects -- in that order. I spent less than 10% of my lectures on syntax. They whined terribly about C++ syntax at first, but I just let them pick it up as we went along. It's been quite a while now since I saw someone trying to get FOR i:= 1 TO n DO past the compiler :( If you don't think OOP is better than a procedural style of programming, why teach it at all? This reminds me about the bad old days when Pascal text books did procedures last and recursion as an appendix (not quite that bad I suppose). I used to argue in those days that if this is the order you do things, you might as well teach FORTRAN. -- Philip Machanick philip@cs.wits.ac.za Department of Computer Science, University of the Witwatersrand 2050 Wits, South Africa phone 27(11)716-3309 fax 27(11)339-7965