Why aren't we all speaking LISP now?

Kris J. Zaragoza kzaragoza at mediaone.net
Wed May 9 23:34:13 EDT 2001


On Wed, 9 May 2001 12:30:18 -0600, Andrew Dalke <dalke at acm.org> wrote:
>Laura Creighton wrote:
>> What sort of teaching did the rest of you that took computer
>> science courses get?
>
[snip]
>
>I'm probably missing a few courses.  What's interesting
>from this list the number of CS courses not doing programming.
>
>I always figured this was a consequence of the CS department
>being in the school of arts & sciences and being more
>math oriented.  Where I went to grad school the CS department
>was in the engineering school and their undergrad assignments
>were much more implementation oriented and with less theory.
>
>That's not to say people at my undergrad all wanted to
>learn the theory.
>
>                    Andrew
>                    dalke at acm.org

This discussion reminds me of something I've been thinking about of
late.

I think there is, generally speaking, a fundamental misunderstanding
of what Computer Science really is all about.  It's not about building
faster chips or writing lots of programs.  It is the study of what can
be computed and how those computations can be performed.  This makes
Computer Science an interesting mixture of both applied mathematics
and engineering (with a bit of psychology thrown in for AI and user
interface work).  This may be an oversimplification; there are many
different fields of study within Computer Science.  It does, however,
describe the gist of things: Computer Science is a science.  It is
theoretical and academic by nature.  Conveniently, it also has many
real-world applicable results.

Many people pursue a degree in CS thinking that it's the way to pick
up some programming skills and land a cushy, high-paying job in the
private sector.  Although the job (and the pay) is a possibility, a CS
degree may not be the best way to get there.  A more skill and tool
based curriculum may be a better option (CIS? MIS? trade schools?).
However, I firmly believe that having a CS degree will allow you to go
much much farther in understanding and applying technology to solve
problems.

I received my B.S. in Computer Science from Rensselaer Polytechnic
Institute in 1995 (http://www.rpi.edu).  The Computer Science
department there evolved from the Mathematics department, and its
roots truly show in the curriculum.  Most of my classes were heavy on
mathematical concepts and applications.  They also included a healthy
dose of more abstract concepts (NFAs and DFAs, data structures,
algorithm analysis, logic) that can be applied across a wide variety
of problem domains and programming languages.  

In the years I've worked in private industry since graduating, I have
learned to greatly appreciate the fact that I learned these
fundamental concepts and not simply a collection of tools.  The
knowledge I gained has allowed me to quickly adapt to any new tools I
have been faced with.  It has also allowed me to better understand
when and how to use those tools.  Unfortunately, I have worked with a
great many people who do not have this understanding.  This is not to
say that a CS degree is an absolute requirement for excellence; I have
worked with truly outstanding programmers and engineers that never
obtained a college degree.  A CS degree, however, does help.

I'm actually beginning to think that if more Computer Science were to
trickle into other degree and technical training programs, we would
see a significant increase in the quality of both hardware and
software being produced today.

Then again, I could be totally off my rocker. :-)

-Kris

-- 
Kris J. Zaragoza           | "Unfortunately, most people can't out-think a
kzaragoza at mediaone.net     | grapefruit."  --Jon Bodner



More information about the Python-list mailing list