Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: CG: Re: SUO: What the marketplace needs from us.




Bill,

Your points are very well taken, and with
minor qualifications, I agree with everything
you say.  My only major qualification (or
addition) to your comments is about logic:

 1. Logic should be the centerpiece of the
    CS curriculum, not a cursory survey in
    a general mish-mash course followed by
    optional courses on esoteric topics.

 2. This approach might sound revolutionary,
    but it is the most conservative and
    traditional imaginable.  When the
    foundations of the modern university
    system were laid (12th to 16th centuries),
    logic was the first of the "Seven Liberal
    Arts".  For an intro to logic as it was
    traditionally taught, I recommend _The Trivium_
    (reference below), which was taught to English
    majors at St. Mary's College.  I would be
    delighted to find CS majors who were as well
    grounded in logic as those English majors.

 3. Today, logic has gone far beyond Aristotle,
    but only an insignificant minority of students
    ever learn any of it.  And most CS graduates
    and professors, who were exposed to it as
    in point #1, are not in that minority.

 4. As evidence of the low-grade understanding of
    logic by most CS professors, I would cite the
    following evidence:

    a) When Doug Lenat interviews job applicants
       at Cyc, he gives them a short quiz in which
       they have to translate a few English sentences
       to first-order logic.  The overwhelming majority
       of CS graduates (including CS professors) fail.

    b) I had the same experience when I taught a graduate
       course in the CS department at a university located
       in Palo Alto.  The only prerequisite was "knowledge
       of FOL", and for the first homework assignment, I
       gave them six English sentences to translate to FOL.
       Out of a couple dozen students, only two got all
       six correct, and the average was about 2 or 3
       correct translations with many errors on the others.
       When I did something similar at other places, the
       results were even worse -- with rare exceptions,
       I was lucky to get any correct answers from anybody.
   
    Sister Miriam Joseph's students might not know FOL
    notation, but they could do the hard part:  analyze
    the English sentences and break them down into
    predicates and logical connectives.

 5. As further support for the need for understanding
    how logic is expressed in natural languages, I would
    cite two well-know computer scientists:  Don Knuth and
    Edsger Dijkstra.  When Knuth was in grammar school (at
    a time when they still taught grammar), he loved the
    idea of diagramming sentences in English, and he looked
    for ever bigger and more complicated senteces to diagram.
    Unfortunately, schools no longer teach sentence diagramming
    because it's "too hard" -- in other words, the teachers
    don't know how to do it.  And Dijkstra said that when
    he was interviewing students for CS courses, his first
    criterion was how well they could express themselves
    in their own native language.  Neither one of them
    explicitly mentioned logic in their commentary,
    but that is because they did not learn logic from
    Sister Miriam or somebody equally qualified.

 6. Recommendation for revising the CS curriculum:

    a) Include much of Sister Miriam Joseph's approach
       in the introductory logic course and follow it
       with a translation to various notations, including
       the algebraic notation for predicate calculus,
       graph notations such as EGs and CGs, and various
       computer notations, such as BNF, SQL, and UML.

    b) Emphasize the logic foundations in every CS course.

       In teaching compilers, point out that every BNF rule
       is an example of a Horn clause with the left-to-right
       sequence implicit in the notation.   Then show how
       the compilation process is a mapping that preserves
       logical invariants, and optimization is another
       mapping that preserves the same invariants while
       observing additional constraints intended for
       improving performance.

       In teaching data structures, show how different
       options preserve the same logical invariants while
       making various trade-offs in performance.  In database
       theory, start with FOL and show how every feature of
       SQL relates to logic.  In automata theory, emphasize
       how logic relates to every class of automata.  It is
       typical for such courses to relate automata to formal
       languages, but it takes only one more step to relate
       both the languages and the automata to logic.

    c) And most imporetantly, show how software tools can
       map definitions and axioms in logic into computer
       programs, into database definitions, into object
       oriented definitions, etc.  And then teach the
       students how to write programs that do those
       translations.

    I'll admit that some "advanced" courses do some of these
    things, but they do it in such esoteric notations that
    most students avoid those courses like the plague.
    I would rather see them taught at a more elementary level
    so that everybody would get the point -- in the style
    of Sister Miriam and with a minimum of hairy notation.

I agree with your remarks:

> While your suggestions on how to achieve better products
> are very good, I fear that it will not come to pass.
> Engineering is not in control of software - marketing gurus,
> incompetent managers, and ignorant consumers are! Even if
> we were to pursue your course of events, development
> organizations would drop it before it could prove itself
> useful. The mistakes of thousands of ignorant developers
> would overwhelm the positive results of the handful of
> knowledgeable ones.

But I am less worried about ignorant managers and marketers
than I am about ignorant CS professors.  And most CS
professors really don't want to be ignorant.  But their
problem is that they never had an opportunity to learn
logic the way it should be (and used to be) taught.

John
___________________________________________________________

Recommended reading (available for $11.87 at Amazon.com):

_The Trivium: The Liberal Arts Of Logic, Grammar, And Rhetoric_
by Sister Miriam Joseph Rauh.

Cover blurb:
   
Opening the door for beginners who seek a thorough grounding
in the first arts of human understanding, this book explains
the nature of logic, grammar, and rhetoric -- the first three
of the seven liberal arts -- and how they relate to one another.
In Renaissance universities, the trivium (literally, the
crossing of three part way) formed the essence of the liberal
arts curriculum.  Examined are topics such as the nature and
function of language, distinguishing general grammar from
special grammar, the study of logic and its relationship to
grammar and rhetoric, and applying the concepts of logic,
grammar, and rhetoric to literary works.
 
Miriam Joseph, C.S.C, was a professor of English at
St. Mary's College in Notre Dame, Indiana. She first
published The Trivium in 1937.