home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: sci.math.symbolic
- Path: sparky!uunet!utcsri!helios.physics.utoronto.ca!alchemy.chem.utoronto.ca!mroussel
- From: mroussel@alchemy.chem.utoronto.ca (Marc Roussel)
- Subject: Re: The Real Meaning of Efficiency? (Re: Serious Programming, etc.)
- Message-ID: <1992Nov20.183648.4441@alchemy.chem.utoronto.ca>
- Organization: Department of Chemistry, University of Toronto
- References: <1992Nov20.051351.18180@alchemy.chem.utoronto.ca> <By0q94.9p9@news.cso.uiuc.edu> <1ej8dvINN3u2@agate.berkeley.edu>
- Date: Fri, 20 Nov 1992 18:36:48 GMT
- Lines: 53
-
- In article <1ej8dvINN3u2@agate.berkeley.edu> fateman@peoplesparc.Berkeley.EDU
- (Richard Fateman) writes:
- >At Berkeley, we haven't taught Fortran in CS for many (20) years. There
- >is a Fortran intro course in engineering, taught by engineering faculty.
- >But the main upper division scientific computing for engineers course
- >is taught using Matlab, although there is some (I think) fortran.
-
- There are several constraints in designing a CS/programming curriculum
- for scientists and engineers. One of them is that most of your students
- are unlikely to take more than two half-courses because that is all that
- their departments mandate. A worthy approach might be to start out with a
- half-course in algorithms and basic theory, perhaps even without assigning any
- programming exercises. (In other words, don't make them learn ANY
- programming language. Implementation details too often detract from learning
- in introductory CS courses.) Let the students learn about algorithms by
- using their own brains. In a second half course, introduce a handful
- of programming environments and design programming exercises that will
- require interaction of these environments. For instance, you might
- choose Fortran, Maple and Matlab. Maple does a symbolic computation,
- generates Fortran code which is compiled and produces some output which
- is passed to Matlab for visualization. (The whole process could
- obviously and naturally be spread over several assignments.) That's the
- way scientists really work and there is no sense pretending that any one
- system can do everything.
-
- >In article <By0q94.9p9@news.cso.uiuc.edu> Richard J. Gaylord
- ><gaylord@ux1.cso.uiuc.edu> writes:
- >>Its totally clear that most cs departments don't have
- >>the faintest idea what non-cs people want or need to know about
- >>programming.
- >>This can be seen from the recent move at many places from
- >>FORTRAN to C as the first language.
- >
- >False, at least for my department. We don't teach C first, and we certainly
- >don't push C as a language for scientific computing.
-
- Perhaps, but some CS departments are doing this, even to their own
- students. The truth is that neither Fortran nor C is a wonderful
- teaching language. (Fortran is too restrictive and C is too
- permissive.) Fortran in combination with other tools might not make a
- bad combination however. The students can always learn C later.
-
- >>the best thing that could happen to the teaching of programming to tech
- >>people would be to use mathematica to do it.
-
- Why Mathematica in particular? More importantly, why Mathematica
- alone? Scientific computation almost never involves only one language
- or tool anymore. I have no real objection to Mathematica being a part
- of the curriculum, but it seems silly to not teach the students to be
- flexible and use whatever tools seem most appropriate.
-
- Marc R. Roussel
- mroussel@alchemy.chem.utoronto.ca
-