Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!rpi!image.soe.clarkson.edu!ub!uhura.cc.rochester.edu!rochester!rit!prague!mjl From: mjl@cs.rit.edu Newsgroups: comp.edu Subject: Re: ALGORITHMS ANYBODY? Message-ID: <1835@cs.rit.edu> Date: 23 Aug 90 13:12:08 GMT References: <90Aug22.090345edt.9450@neat.cs.toronto.edu> <4147@iitmax.IIT.EDU> Sender: news@cs.rit.edu Reply-To: mjl@cs.rit.edu Organization: Rochester Institute of Technology Lines: 39 When I took a language concepts course all those many years ago (1970? when dionsaurs roamed the earth?) the concepts themselves were clearly separated from the particular languages we used in our labs. In fact, I remember clearly a lecture on binding time with the following exchange: Professor; "And in Snobol you can do this " Student: "You can't do that in Snobol!" Professor: "Well, you should be able to!" The point was that the concepts were the key, and languages were chosen on the basis of how they demonstrated different approaches to solving various problems. As for labs, we did two in each of the languages we studied. Typically the first lab showed the strength of the language, while the second emphasized the language's weaknesses (typically we solved a problem for which the language was at best a marginal choice). I thought this worked marvelously, as it reinforced the class lectures while providing object lessons in how to choose an appropriate (or inappropriate) language. By the way, I'd be concerned with a course that emphasized algorithms alone. As Wirth's book title said many years ago, Algorithms + Data Structures = Programs. Without any emphasis on the data structuring approaches embodied in each language, students will get a warped view of the languages. For instance, most algorithms in Smalltalk are boring, and stressing them would miss the whole point of the language. -------- Mike Lutz Rochester Institute of Technology Rochester, NY 14623-0887 mjl@cs.rit.edu