Path: utzoo!dciem!nrcaer!sce!object!kain From: kain@object.UUCP (Kai Ng) Newsgroups: comp.lang.eiffel Subject: Re: Teaching object oriented programming Keywords: Teaching, Problem Examples, Programming Examples Message-ID: <6734@object.UUCP> Date: 3 Aug 89 19:38:48 GMT References: <1318@massormetrix.ida.liu.se> <6718@cognos.UUCP> Reply-To: kain@cognos.UUCP (Kai Ng) Organization: Cognos Inc., Ottawa, Canada Lines: 36 In article <6718@cognos.UUCP> alanm@cognos.UUCP (Alan Myrvold) writes: >In article <1318@massormetrix.ida.liu.se> mikpa@massormetrix.ida.liu.se (Mikael Patel) writes: >>I am working on a course on Object Oriented Programming (OOP) for third and >>fourth year students on our civil engineer lines. I'd like some advice > > 1) Motivation for OOPs (re-use, information hiding, memory management) > 2) The Smalltalk execution model > 3) The Eiffel type system (including proposed checking in future > releases, to close the existing holes) > 4) Hybrid languages ... C++, Objective C, misc. Pascal extensions > 5) Two small projects - one in Eiffel, the other in Smalltalk > The above list looks like the outline of YALC (yet another language course) which I believe is not an effective way to convey the idea of OOP to the students. Stresses should be on what is the difference between OOP technique and conventional structural programming technical; how to design object- orientedly; specialization vs generalization up and down the inheritance hierarchy; etc. On the ACM OOPSLA'88 appendum to proceedings, there is a workshop on "Teaching Object Oriented Programming". In there, a number of OOP pioneers expressed their experiences and approaches. (Including Adele Goldberg, John Pugh, etc). I hope that is a good place to start before delineating your course. -- Kai Ng P.O. Box 9707 UUCP: uunet!mitel!sce!cognos!kain Cognos Incorporated 3755 Riverside Dr. (613) 738-1440 Ottawa, Ontario, ext. 6114 CANADA K1G 3Z4