I (ref) solicited comments from top computer scientists and summarized
some of what I received:

   Why CSC 302 Is Important For Undergrad Computer Science Majors

(NA below stands for "numerical methods/numerical analysis/numerical
software/scientific computing")

- NA is the  key bridge between non-computer scientists
  (engineers, economists, medical researchers,
  mathematicians, scientists of all flavors, and
  engineers of all flavors) and computer science.
  It is crucial that computer scientists
  understand one of the most common styles, languages,
  and class of problems for which non-computer
  scientists use computers. Scientific computing
  remains one of the strongest stimulants for
  developing scalable parallel computing.  Indeed
  NA has always been the leader in computer science.
  Virtually all the Turing Award winners have had a
  strong NA background.  It could be argued that all
  of computer science has its roots in NA.
 
- NA extends, reviews , and applies in a wonderful way
  much crucial mathematics related to modeling of all
  kinds: multivariate calculus, linear algebra, and
  floating point arithmetic. This review and discussion
  is extremely valuable for computer science students
  who often end up with weak backgrounds in continuum
  mathematics, as opposed to discrete mathematics.
  Our graduates need to understand why supercomputers
  are built.  Our graduates should have a sense of
  computer graphics' potential and limitations and this
  requires some idea of splines and the algorithms that are
  the core of graphics software.  Our graduates can not call
  themselves scientists if they are ignorant of the basic
  contexts of calculus.  NA puts the calculus in a useful
  and reasonable context. 

- A NA course is ultimately the most valuable CSC course
  in opening up FUTURE job opportunities in that it provides
  specific skills that can be used in so many ways. Knowing
  how to program and knowing NA is enough to be useful on
  many simulation projects.  A very high percentage of
  our undergrads will encounter quantitative computing of
  some kind when they graduate.  Compared to other kinds of
  computing, numerical computing has more depth.  Whereas
  other types of computing like data base computing can be
  picked up on your own, any student not having exposure
  to numerical methods in school curriculum will be blocked
  from any kind of meaningful and useful contribution to a
  project where quantitative computing is needed.  Examples
  where bad work is done by computer scientists ignorant of
  numerical issues abound.  Incidentally as at other preeminent
  departments, e.g. U. Illinois "ALL our good students do
  well in the (302)course."  In my experience this is also true
  at NCSU.

- At an intellectual level, it is quite important to
  know something about NA since there are definite
  limits to what can be simulated on a computer (just
  as there are definite limits to what problems are
  computable). E.g., chaos theory implies that certain
  kinds of long-range forecasting are impossible no
  matter what algorithm or computer is used. Similarly,
  complexity and algorithmic issues currently prevent
  the direct simulation of complex problems.
 
- It should be realized that NA is pervasive in ALL of
  computer science and this is precisely the type of
  course that needs to be a cornerstone of our 
  curriculum.  A colleague at a Canadian university points
  out at the beginning of each semester that with only
  a "cursory search through just the current editions
  of journals in our library, I am able to quote
  numerical articles from journals in Data Base, Graphics,
  Networking, Parallel Computing, Software Methodology, and
  Artificial Intelligence."  He continues that they have
  "courses in Information Retrieval where they are discussing
  algorithms for latent semantic indexing which are based on
  the singular value decomposition, which all the students in
  the class did last year in Numerical Algebra.  In Software
  Engineering the students are writing a system to simulate
  the generation of large scale software packages - and this
  has them wondering about numerical integration, and finding
  zeros of functions given implicitly by other functions. In
  the Network course they have frequent numerical modelling
  problems. And, finally, in the Graphics class computational
  geometry problems, mainly linear algebraic, keep cropping up."
 
  Comments from industry and national labs, e.g.
- "A CS major needs to know and understand the types of numerical
  methods that are used on computers by scientists, engineers,
  and in business. The ones that will work in engineering companies
  or do basic science will obviously need to know these methods.
  If they write compilers or translators they benefit from an
  understanding of what some of the users will need for their
  work.  Operating system writers also need to know these numerical
  methods for a variety of tasks including scheduling (new schedulers
  developed here at LANL do a fair amount of calculations do
  determine to optimal scheduling on our advanced computers that have
  several hundred users competing for resources).  If applicants
  don't have numerical background it could limit their employment
  possibilities.  In any area you care to mention people use the
  computers to do mathematics for them, and if you are the one who
  writes and maintains applications and tools you will need to
  understand computational mathematics and numerical methods."
  Similar comments could be included from a computer scientist
  from kodak in NY and the manager of the computer science
  department in information services research at Boeing.
 
Issue of Responsibility
- The GAO report on roundoff error and the Patriot missile is an
  example where lack of the most basic understanding of errors
  (namely correlated errors can cancel) led to an erroneous
  conclusion.  (The technical person responsible for the report
  had the title of computer scientist; too bad he did not take
  302.)
-----------------------------
-----------------------------
Personal comments of David McAllister, professor of computer science,
North Carolina State University, on the importance of numerical methods:
------
I have been involved in research in several areas in my life including
numerical analysis, performance evaluation, fault-tolerant software,
graphics and some areas you probably never heard of.  As a result I have
to read the literature in several areas and it is clear to me that it
becomes exceedingly difficult without a fundamental understanding of
numerical methods. Note that I didn't say numerical analysis. That's the
graduate level stuff. But  it's interesting how many times in my life have
I had to find roots, minimize a function, use splines, or solve a linear
system or a differential equation. (I went to a presentation by some guy
in neural networks the other day...it was an invited talk at a graphics
conference!...and he was talking about conjugate gradient methods and
simulated annealing techniques. I wondered how in the world our students
would begin to understand that stuff without some numerical methods in
their backgrounds.)  How can you understand the algorithms required to
analyze networks, analyze images, build models of software systems,
analyze cost models,  etc., without some knowledge of numerical methods? 
[or analysis of financial or economic models and systems, ref]
Now that we have symbol manipulation software such as Maple and
Mathematica, our ability to solve problems has been elevated to a higher
dimension but an understanding of precision and numerical errors is even
more critical. These wonderful capabilities give us arbitrary precision,
but what does that mean?  How and when do we use it? How do we know when
canned programs are giving us junk as output? When should we use the
capabilities of floating point arithmetic which is now part of every PC
chip? How can we say we have educated our students if we allow them to
escape without knowing anything about a floating point coprocessor and
floating point error analysis?