[comp.edu] Fortran for Math Majors

reggie@paradyne.com (George W. Leach) (02/12/91)

      A student of mine had a question that I wanted to pose to the members
of this newsgroup.  This person intends on majoring in Math and perhaps
minoring in CS.  The question pertains to how much is Fortran used in a
typical Mathematics Department for undergraduate coursework?  The reason
for the question is that this person wants to decide if she should purchase
a PC-based compiler or not.


      Is any other language used in Math Departments other than Fortran?
Are there libraries available that you use for special purposes?  If so,
are they typically used on a PC?


Thanks,

George


-- 
George W. Leach					AT&T Paradyne 
reggie@paradyne.com				Mail stop LG-133
Phone: 1-813-530-2376				P.O. Box 2826
FAX: 1-813-530-8224				Largo, FL 34649-2826 USA

hb136@leah.albany.edu (Herb Brown) (02/13/91)

In article <1991Feb12.151552.17331@pdn.paradyne.com> reggie@paradyne.com (George W. Leach) writes:
>
>      A student of mine had a question that I wanted to pose to the members
>of this newsgroup.  This person intends on majoring in Math and perhaps
>minoring in CS.  The question pertains to how much is Fortran used in a
>typical Mathematics Department for undergraduate coursework?  The reason
>for the question is that this person wants to decide if she should purchase
>a PC-based compiler or not.
>
>      Is any other language used in Math Departments other than Fortran?
>
>Thanks,
>
>-- 
>George W. Leach					AT&T Paradyne 
>reggie@paradyne.com				Mail stop LG-133
>Phone: 1-813-530-2376				P.O. Box 2826
>FAX: 1-813-530-8224				Largo, FL 34649-2826 USA


At the University at Albany no mathematics course (undergraduate or graduate)
uses Fortran (or any other cs language) However, we offer several courses
ranging from elementary courses for non-science/math majors to junior/senior
mathematics courses in a specially designed Computer Classroom using MAPLE
software on Amiga Computers. We are into the second semester of this venture
and so far our colleagues are quite pleased with the results.

                                       Herb

) (02/15/91)

In article <1991Feb12.151552.17331@pdn.paradyne.com> reggie@paradyne.com (George W. Leach) writes:
>      A student of mine had a question that I wanted to pose to the members
>of this newsgroup.  This person intends on majoring in Math and perhaps
>minoring in CS.  The question pertains to how much is Fortran used in a
>typical Mathematics Department for undergraduate coursework?  The reason
>for the question is that this person wants to decide if she should purchase
>a PC-based compiler or not.
>
>      Is any other language used in Math Departments other than Fortran?
>Are there libraries available that you use for special purposes?  If so,
>are they typically used on a PC?
>
>Thanks,
>
>George
>-- 
>George W. Leach					AT&T Paradyne 
>reggie@paradyne.com				Mail stop LG-133
>Phone: 1-813-530-2376				P.O. Box 2826
>FAX: 1-813-530-8224				Largo, FL 34649-2826 USA
[trimmed up article by removing some blank lines]
Here at Chico State the Math Department does not encourage the use of
computers for solving problems, even in the numerical methods classes.
Speaking as a CS major with an interest in math, I would recomend knowing
FORTRAN simply because it is good at number crunching and there is a lot of
code out there.  I would also recomend a knowledge of Pascal and/or C.
Pascal is good because of the big safety net, but is awful for math
functions.  (Standard Pascal, that is.  I don't know how Turbo Pascal is.)
C is better at the math functions, but you can really do screwy things in
C, and it will still compile.  Ada might be something to look at, but I
don't know enough about it.  We had an awful implementation here at Chico
that we scrapped using after the first semester, so my expierence is
negative.  Ada is something I would like to learn though, since the DoD
requires it for its programs.

					Hope this helps,
					ack (aka Andy Santoro).

          /    aka Andy Santoro   (ack@csuchico.edu)
 __.  _. /_    California State University, Chico
(_/|_(__/ <_   #include "witty_disclaimer"

mjs@hubcap.clemson.edu (m j saltzman) (02/16/91)

In article <1991Feb12.151552.17331@pdn.paradyne.com> reggie@paradyne.com (George W. Leach) writes:
>
>      A student of mine had a question that I wanted to pose to the members
>of this newsgroup.  This person intends on majoring in Math and perhaps
>minoring in CS.  The question pertains to how much is Fortran used in a
>typical Mathematics Department for undergraduate coursework?  The reason
>for the question is that this person wants to decide if she should purchase
>a PC-based compiler or not.
>
>      Is any other language used in Math Departments other than Fortran?
>Are there libraries available that you use for special purposes?  If so,
>are they typically used on a PC?

Here at Clemson, the numerical mathematics courses are often taught
using FORTRAN.  The machines available for student use include PCs and
Macintoshes, but mostly a mainframe running TSO 8^( 8^( 8^(!
As far as I know, almost no Computer Science curricula currently use
FORTRAN as the principal instructional language (flame away, I'm ready...).
The procedure-oriented languages of choice for CS include Pascal, C, 
Modula-2, PL/C (and probably other "structured" languages).  Math
curricula that include computation with procedure-oriented languages
are probably using FORTRAN or C, but many Math curricula (as you've
seen) don't emphasize computing, or use symbolic languages.

Another factor is that even halfway-decent FORTRAN compilers for PCs are 
relatively expensive.  Pretty good C and Pascal compilers are readily
available for very reasonable prices (from Borland, for example).

Finally, I think that it is relatively easy to learn to write
FORTRAN once you know almost any other procedural language.  (Now
the flames are really going to fly!  Oh, well...)

With all those personal biases in mind, I would offer the following 
advice:  Don't buy a PC FORTRAN compiler until you know if the
school you choose will have a heavy emphasis on FORTRAN.  If you
want to learn programming (still a useful skill, IMHO, despite the
advent of symbolic and expression-oriented languages), buy 
Turbo Pascal or Turbo C or some other low-priced Pascal or C 
compiler and learn that.  If you need FORTRAN later, it will be a
snap to learn, and you can always get the compiler then.
(If you are completely new to programming, I'd suggest starting
with Pascal, I think, although I don't know much about the
latest object-oriented Turbo Pascal.)

>Thanks,
>
>George
>-- 
>George W. Leach					AT&T Paradyne 
>reggie@paradyne.com				Mail stop LG-133
>Phone: 1-813-530-2376				P.O. Box 2826
>FAX: 1-813-530-8224				Largo, FL 34649-2826 USA

		Matthew Saltzman
		mjs@clemson.edu

(I am not affiliated with Borland.  My opinions are my own.  Institutions
don't have opinions.  Free advice is worth what you pay for it.)

thc@cs.brown.edu (Thomas Colthurst) (02/16/91)

Most mathematicians, in my experience, have no need for Fortran, and get by rather
well with Mathematica, Maple, MATLAB, etc.  Applied mathematicians, on the other hand,
frequently need to know FORTRAN because of the large amount of FORTRAN code that is
already out there, and because of its wide-spread support (As the saying goes, FORTRAN
is still the language of super-computers.)

I would buy a PC version of FORTRAN only if I know a large deal of my assignments would
be in FORTRAN (which seems unlikely), and even then a modem and good terminal emulator
would seem more useful.

The above statements in no way imply that FORTRAN is the language which applied 
mathematicians should be using.  This honor probably goes to C++, in which it is easy to
implement and use mathematical objects using classes (most come with complex numbers,
vectors, matrices, etc.), is reasonably fast (as good as C, if done right), and 
reasonably portable (anywhere you have a C compiler and can port cfront too).

Pretty soon applied mathematicians are going to start tackling large software projects
and discover that the techniques and languages they are using are totally inappropriate.

-Thomas C

wfh58@leah.albany.edu (William F. Hammond) (02/17/91)

In article <1991Feb13.131044.19020@sarah.albany.edu> hb136@leah.albany.edu
(Herb Brown) writes:
>In article <1991Feb12.151552.17331@pdn.paradyne.com> reggie@paradyne.com
>(George W. Leach) writes:
>> ...                This person intends on majoring in Math and perhaps
>>minoring in CS.  The question pertains to how much is Fortran used in a
>>typical Mathematics Department for undergraduate coursework?   ...
>>
>>      Is any other language used in Math Departments other than Fortran?
>
>At the University at Albany no mathematics course (undergraduate or graduate)
>uses Fortran (or any other cs language).
                            ^^^^^^^^^^^
                       Almost but not quite.

>                                          However, we offer several courses
>ranging from elementary courses for non-science/math majors to junior/senior
>mathematics courses in a specially designed Computer Classroom using MAPLE
>software on Amiga Computers. We are into the second semester of this venture
>and so far our colleagues are quite pleased with the results.
>

The junior level algebra course based on the book "A Concrete Introduction
to Higher Algebra" by Lindsay Childs (Springer Verlag) that I taught last
fall in our computerized classroom used the general purpose interpreted
computer language REXX, implemented on the Amiga as "ARexx".

(One of the nice things about REXX, among general purpose languages, for
mathematicians is its ability to accept a function *definition*, like
(x**2)*exp(x)  at run time as *data* without a programming kludge.)

Symbolic manipulation packages such as "Maple" are more commonly used by
mathematicians than are general purpose programming languages.  In fact,
the better symbolic manipulation packages, "Maple" included, have their
own "scripting" facilities, and in that sense can be regarded as offering
a "language".

Part of the point is that mathematicians, generally, are interested in
mathematical questions, and any interest in computer programming is
ancillary for most.

  The junior level course in algebra that I mentioned above could have
been done with a symbolic manipulation package.  I rejected that approach
because the students would not have been forced deeply enough into an
understanding of the algorithms that underlie the content of the course.
(It's a course about Euclidean rings.)  Too much is built into "Maple";
my philosophy is that the ability to write a script to do something
with polynomials, given with coefficients modulo a prime, shows evidence
of understanding of the subject that would not be shown by the ability
to use canned functions effectively.  For the level beyond this course,
however, I am using "Maple", and for a still higher level beyond that
I would use "Macaulay".

----------------------------------------------------------------------
William F. Hammond                   Dept. of Mathematics & Statistics
518-442-4625                         SUNYA, Albany, NY 12222
hammond@leah.albany.edu              wfh58@albnyvms.bitnet
----------------------------------------------------------------------

reggie@paradyne.com (George W. Leach) (02/19/91)

    Here is the question that I put forth in my original posting:

       A student of mine had a question that I wanted to pose to the members
 of this newsgroup.  This person intends on majoring in Math and perhaps
 minoring in CS.  The question pertains to how much is Fortran used in a
 typical Mathematics Department for undergraduate coursework?  The reason
 for the question is that this person wants to decide if she should purchase
 a PC-based compiler or not.
 
 
       Is any other language used in Math Departments other than Fortran?
 Are there libraries available that you use for special purposes?  If so,
 are they typically used on a PC?

     I received replies, or there were postings to the newsgroups by
the following people:

		Gerald Edgar <uunet!shape.mps.ohio-state.edu!edgar>
		uunet!math.berkeley.edu!raymond (Raymond Chen)
		uunet!cs.brown.edu!jda (Jeff Achter)
		uunet!Eng.Sun.COM!khb (Keith Bierman fpgroup)
		Ron Fox <uunet!rudolf.nscl.msu.edu!fox>
		uunet!math.rutgers.edu!bumby (Richard Bumby)
		uunet!pop.stat.purdue.edu!hrubin (Herman Rubin)
		Bruce Alan Fast <uunet!godel.Colorado.EDU!fast>
		uunet!ATHENA.MIT.EDU!tdaniels
		uunet!c3.c3.LANL.GOV!mikeg (Michael P. Gerlek)
		hb136@leah.albany.edu (Herb Brown)
		"BERRY SCOTT D" <uunet!acad3.alaska.edu!fxsdb>
		Tim Stoutamore <uunet!scd.hp.com!stout>
		uunet!cs.albany.edu!hammond (William F Hammond)
		uunet!mel.dms.csiro.au!alan (Alan Miller)
		Peter Moylan <uunet!cc.newcastle.edu.au!EEPJM>
		David Ross <uunet!stat.orst.edu!ross>
		uunet!debussy.cs.colostate.edu!petersja (james peterson)
		Robert Chaffer <uunet!CUNYVM.CUNY.EDU!3IU4TOB%CMUVM.BITNET>
		uunet!watop!frost (Richard Frost)
		uunet!brinx.acc.Virginia.EDU!cpr4k (Christian P. Roberts)
		ack@ecst.csuchico.edu (Andy Santoro)
		mjs@hubcap.clemson.edu (m j saltzman)
		thc@cs.brown.edu (Thomas Colthurst)



	Most of these postings made it clear that on the average most
undergraduate math majors are not heavily utilizing computers in their
courswork.  There are exceptions of course.  For those exceptions, there
does not seem to be a clear cut direction as far as what type of language
or system that is employed.  Therefore, the best advise to provide to the
student is to wait until you reach the university and department that you
will be dealing with before a purchase.


	I probably failed to point out in my original posting, that I teach
in the Engineering Technology Department for a local junior college.  Most
students who are planning on moving to a four year program are bound
for an engineering program.  That is the reason for my lack of familiarity
with the needs of a math major.  I majored in CS.


	If anyone is interested in obtaining all of the individual replies
and postings, send me e-mail and I will be happy to send them to you.


Thank you all,

George

-- 
George W. Leach					AT&T Paradyne 
reggie@paradyne.com				Mail stop LG-133
Phone: 1-813-530-2376				P.O. Box 2826
FAX: 1-813-530-8224				Largo, FL 34649-2826 USA

jav8106@ritvax.isc.rit.edu (Doctor FORTRAN) (02/19/91)

In article <13138@hubcap.clemson.edu>, mjs@hubcap.clemson.edu (m j saltzman) writes...
-As far as I know, almost no Computer Science curricula currently use
-FORTRAN as the principal instructional language (flame away, I'm ready...).

No need to flame you, Matthew -- What you mention should not surprise
subscribers to this group, because we've already established here that no
actual programming is done in Computer Science curricula. [Insert 100 ':-)'
here.]

-Finally, I think that it is relatively easy to learn to write
-FORTRAN once you know almost any other procedural language.  (Now
-the flames are really going to fly!  Oh, well...)

Again, no need for flames here. What you neglect to mention, however, is that
FORTRAN is even easier to learn if the mind has not yet been poisoned by
hacking paradigms, such as C. [Another ':-)' here.]

-buy 
-Turbo Pascal or Turbo C or some other low-priced Pascal or C 
-compiler and learn that.  If you need FORTRAN later, it will be a
-snap to learn, and you can always get the compiler then.

I'd like to proffer this caveat: If you _do_ start out with Pascal or C, buy
one from a company which also offers a FORTRAN compiler. If you start out with
Turbo C, and decide to add FORTRAN later, and wish to link FORTRAN and C stuff
together, you'll be in one heck of a jam. Easy, you say? Just buy Microsoft C
in addition to their FORTRAN product? Unfortunately, it is extremely, if not
entirely impossible, to write code to compile under one compiler and then
compile it with another with no hitches.

IM(Anything But)HO, Borland's lack of a FORTRAN compiler puts them in the bush
league. Until they produce a FORTRAN compiler, consider the prospect of having
to re-compile your C-code under somebody else's compiler if you want to add
FORTRAN later. What you want is a compiler which generates object code which
is guaranteed to be compatible with object code generated by some FORTRAN
compiler. [No smilies here.]

C ==========================================================================

C === This subroutine will write a signature at the end of a posting.

      Subroutine Signature
      Write (*, 101)
  101 Format (1H1, 'Doctor FORTRAN', /, ' Master of the Realm', /,
     1            ' Reply: jav8106@ritvax.isc.rit.edu')

      Return
      End