bpendlet@esunix.UUCP (Bob Pendleton) (01/17/87)
From: bzs@bu-cs.UUCP >Actually, I am more and more drawn towards the concept of surveying >programming languages in a first 1-year course, possibly getting a >little proficiency in one but touching upon more than just one or two. >There is a (relatively old) textbook by Eliot Organick which was >intended to be a survey of Computer Science in the same spirit as >Halliday and Resnick is a survey of physics, Keeton is a survey of >biology and Sienko and Plane is a survey of (well, inorganic) >chemistry (Thomas' Calculus, Samuelson's Economics, hmm, something >is missing, no?) I had the good fortune to having Dr. Dave Evans and Dr. Eliot Organick as the instructors for the two quarter introduction to CS courses at the University of Utah back in the early '70s. Dr. Organick taught the second quarter from the working notes for the text you described. >The idea was basically to drive the subject matter by "great thoughts >in computer science" and leave the mechanics of programming to more of >a (very important) laboratory procedure. Dr. Organick used a special form of flowcharts for describing algorithms. The weekly programming assignment would include a chart showing how each flow chart structure was mapped into structures in the language of the week. Students refered to the class as the "language of the week club". Not all flow chart structures had equivalents in all languages. For instance, the pattern matching with capture box that had a simple equivalent in SNOBOL had no equivalent in ALGOL. >Consequently, you might do >mathematical algorithms in Fortran, some systems in C, string We saw FORTRAN and COBOL, but only as examples of poor language design. >processing in Snobol and symbolic computation in Lisp (maybe even >parse a toy grammar in Lex and Yacc.) Object oriented programming We did symbolic differentiation in LISP and toy compilers in SNOBOL. We hadn't heard of C at the time. >would be a fine topic in this day and age and should involve an object >oriented langauge (I like LOOPS but the pragmatics of an intro course >would probably have one use C++ which isn't a bad thing.) >Oh, you won't get very proficient in any right away, but that's the >difference between an academic program and a trade school, the former >is trying to put the questions in your head and then answer them >rather than just make you memorize other people's answers, it's harder >and a bit more circuitous that way, but the extra ground covered is >well worth the effort. I learned that programming languages and programming have about as much in common as poetry and wordprocessors. Yes, you don't learn one language in depth. But why would you want to? With this kind of training you can read the manual and start writting code. It also teaches that design and implementation are completely separate issues. You learn to design in terms of the problem and to implement in terms of the target system. >I think something like this could be designed without being impossible >or overly superficial, I would love to see, for example, Donald Knuth >design such a text based upon his Art of Computer Programming (ie. >condense the whole mess back into an introductory student format), >unfortunately he'd probably use Mix or Web or TeX for examples :-), >maybe someone else could come up with something brilliant based on a >format like this. Since its been done once I have not doubt that it can be done again. >But perhaps this strays from the topic...maybe not. > > -Barry Shein, Boston University > > Bob Pendleton -- -- Bob Pendleton Evans & Sutherland Computer Corporation UUCP Address: {decvax,ucbvax,ihnp4,allegra}!decwrl!esunix!bpendlet Alternate: {ihnp4,seismo}!utah-cs!utah-gr!uplherc!esunix!bpendlet Riskier than RISC, Ciskier than CISC, the time for microcode is now. --- I am solely responsible for what I say.