[comp.edu] CS at CMU

lord+@andrew.cmu.edu (Tom Lord) (04/17/88)

Peter Su (hugo@eleazar.Dartmouth.EDU) observes that CMU requires a programming
course of all students, and complains that it is in Pascal rather than LISP,
Scheme, or some other interpreted language with a simple syntax.

First, for the record, the requirement to which Peter refers can now be
satisfied by a `gentle' LISP course.  The course is still almost universally
condemned as useless by mathematics, engineering, humanities, and fine arts
majors alike.

Also required of (most or all) students, is a course called "Computing Skills
Workshop".  This course is an introduction to word processing, email and
electronic bboards, and various other computing facilities available to CMU
students (such as the excellent on-line encyclopedia service).  This course is
generally well received.  It's most tangible biproduct is that our public
computer clusters are filled with a higher number of non-technical students
than clusters I have seen at other universities.  I believe (and I think many
students do, too) that the workshop really enhances the education of most
undergraduates here.

Finally, I would like to raise a new, though related issue.  Here at CMU, where
most if not all students are required to take at least one programming course,
it is surprising how LITTLE programming a typical computer science major gets
away with.

As far as I can tell, it is possible to graduate with a BS in Applied
Mathematics, Computer Science having worked on only one program substantially
longer than a page or two.  It seems to be typical to graduate having only
worked on two such programs.  (The degree is an applied math degree because the
CS department has not been able to devise its own undergraduate major.  They've
talked about it an aweful lot though :-) )

Now, regardless of your opinions about "What is CS?", I hope that you'll find
this situation apalling.  (1) This situation obviously can't produce high
quality production programmers.  (2) Less obviously, it can't produce very good
researchers - since a common failling of research projects is to abandon the
practices of quality production coding.  Finally (3), I doubt that this program
does much to help produce theoriticians, since as many have pointed out (more
or less), the best theory is that which takes the real world into account,
rather than scoffs at it.

I have three questions:

First, am I just wrong?  Assuming that the situation is as I described, will
quality computer scientists emerge from such a program?  Better than if the
program required more actual programming experience?

Two, are things the same at MIT, Stanford, and other `high-power' computer
science schools.

Three, (begging a "no" answer to the first question) how do you repair the
problems here?

Thomas Lord
lord+@andrew.cmu.edu