[comp.lang.misc] Survey of Programming languages course

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.