Path: utzoo!attcan!uunet!mcsun!ukc!tcdcs!swift.cs.tcd.ie!vax1.tcd.ie!rwallace From: rwallace@vax1.tcd.ie Newsgroups: comp.edu Subject: Re: SEEKING SUGGESTIONS FOR TEACHING A LANGUAGES COURSE Message-ID: <6776.26cdc9f8@vax1.tcd.ie> Date: 18 Aug 90 23:06:31 GMT References: <6717.26c20a9a@vax1.tcd.ie> <1990Aug14.123438.9207@cs.hope.edu> Organization: Computer Laboratory, Trinity College Dublin Lines: 42 In article <1990Aug14.123438.9207@cs.hope.edu>, jipping@smaug.cs.hope.edu (Mike Jipping) writes: >> The point here >> is that perhaps you should concentrate on first teaching people a lot of >> different languages and then they'll be able to pick up the ideas. Say your >> students have learned a language like C which is suitable for software >> engineering. You could try giving them introductions to FORTRAN, COBOL, BASIC, >> Lisp, Forth, Algol etc. and hope they pick up some ideas of what programming >> languages are about. At the very least it'll teach them to appreciate the good >> qualities of whatever language they've been learning for mainstream programming >> :-). > > But it won't teach them much else... That method will give them the > mechanical ability to say "in this situation, I use C and in this > situation I use Ada", but it won't give them the ability to intelligently > CHOOSE a language which fill the application's need. > > For example, fully exploring concepts like data abstraction or static and > dynamic identifier scope will teach knowledge that a tutorial approach > never will. You can't "hope they pick up some ideas" and expect students > to learn what the "hole in scope" problem is and how to avoid it. > Learning CONCEPTS is the only way to adequately prepare a student for > big world of languages. > > That isn't to say that "first doing practice" must be avoided. Examples, > lab experiments, and programs programs programs can be given (and MUST be > given in a good course) to illustrate both the point of the current > concept and a particular way that a language implements a concept. > > I've taught a course in PL concepts for several years and a colleague and > I have authored a 1990 book on PL concepts. So maybe I'm biased. But > it's my claim that a student with concepts under his/her belt will be > able to pick many more languages faster than the student having had a > tutorial course. I agree that it's important to teach people concepts, but my point (I'm not sure whether you agree with it) is that you should teach specifics first and then generalize because people pick up examples much more easily than generalities. This is why children are taught arithmetic before algebra. "To summarize the summary of the summary: people are a problem" Russell Wallace, Trinity College, Dublin rwallace@vax1.tcd.ie