[Beowulf] Teaching Scientific Computation (looking for the perfect text)

Nathan Moore ntmoore at gmail.com
Tue Nov 20 12:25:13 PST 2007


Thanks Don,

I've read through noth of Oualline's books, but had forgotten about them.
Thanks for the reminder!  On a more personal note, I learned C in a
week-long seminar at the AHPCRC about a decade ago.  As a computational
physicist, I've always felt a little odd in having only one formal
programming class (in fortran, taught by an engineer, way back in the
1990's)

Nathan

On Nov 20, 2007 1:26 PM, Don R. Baker <donb at eps.mcgill.ca> wrote:

> Hi Nathan,
>
> I think that you can switch to teaching C without too much pain and
> effort.  Although I haven't taught C in a course,  I learned it from
> Steve Oualline's book on C published by O'Reilly press and lots of
> practice.  Perhaps more importantly, I had an undergraduate in my lab
> learn it from the same book without much trouble.  As I remember
> Qualline has a very nice introduction to pointers, but you don't really
> need them for many programs.  Although I appreciate the utility of
> pointers I find that I rarely use them for my Monte Carlo simulations
> (but this is admittedly because I am no expert in programming).
>
> I should also point out that Steve Qualline has a C++ book that is very
> similar to the C book and also might work for you.
>
> I hope this helps,
>
> Don
>
>
>
> p.s. The books:
> Practical C Programming, Third Edition by Steve Oualline
> Paperback - REVISED
> Practical C++ Programming by Steve Oualline
>
> On Tue, 2007-20-11 at 12:33 -0600, Nathan Moore wrote:
> > I regularly teach a college course in a physics department that deals
> > with scientific computation.  After students take the course, I expect
> > that they'll be able to write simple "c-tran" style programs for data
> > analysis, write basic MD or MC simulations, and be fairly fluent in
> > Mathematica.
> >
> > In the past, I figured that with the breadth of topics included in the
> > course, Fortran, specifically the basic, simple, and reliable F77
> > dialect (w/ some F90 conveniences) was the language to teach.  In my
> > own head, my rationale was:
> > - Most students can grasp the basics of fortran in half a day's
> > reading, so I can spend more class time on science and math (probably
> > because there are no pointers - I think that C is much harder for
> > students and sometimes "seems" less like mathematical syntax than
> > f77)
> > - "Classical Fortran" is a great text and is readable for self-study
> > (I know of no such text for C/C++)
> > - several free compilers exist (g95 seems ok so far)
> > - Netlib, lapack, and numerical recipes cover the math library
> > adequately
> > - F77 is compiled (Perl/python are too slow for an MD/MC sim and I
> > figure that students should know at least on compiled language and one
> > scripting language to be competent)
> > - MPI is a relatively basic addition to the language (again, no
> > pointers, allocation, or addressing)
> >
> > After reflection though, I've started to wonder about the wisdom of my
> > choice.  Specifically (like RGB), I love the GSL library, and
> > extending GSL to fortran in an intro class is non-trivial.
> > Additionally, most vendors supply "fast" hardware libraries in C (I
> > may be ignorant, but if a student wants to call an AMD ACML fast-math
> > function( http://developer.amd.com/acml.jsp), or write a linear
> > algebra function to run on a graphics
> > card(http://developer.nvidia.com/object/cuda.html), the vendors seem
> > to assume that you'll write the code in C).
> >
> > Also, and more relevant, I assume that most employers word-associate
> > "Fortran is to backwards as C is to competence".
> >
> > So, I'm thinking about reworking the class to favor C, and fearing 3
> > weeks of pointer and addressing hell.  For those of you who teach
> > scientific computation (and also those of you who hire undergrads),
> > I'd be grateful for your thoughts.  One specific question I have is
> > what text covers scientific programming and touches on MPI using the C
> > language.
> >
> > regards,
> >
> > Nathan Moore
> >
> >
> > --
> > - - - - - - -   - - - - - - -   - - - - - - -
> > Nathan Moore
> > Assistant Professor, Physics
> > Winona State University
> > AIM: nmoorewsu
> > - - - - - - -   - - - - - - -   - - - - - - -
> > _______________________________________________
> > Beowulf mailing list, Beowulf at beowulf.org
> > To change your subscription (digest mode or unsubscribe) visit
> http://www.beowulf.org/mailman/listinfo/beowulf
> --
> Melting rocks today for a better tomorrow . . .
> Don R. Baker, Professor of Geochemistry, Earth and Planetary Sciences,
> McGill University, Montreal, QC CANADA  phone: 1-514-398-7485
>
>


-- 
- - - - - - -   - - - - - - -   - - - - - - -
Nathan Moore
Assistant Professor, Physics
Winona State University
AIM: nmoorewsu
- - - - - - -   - - - - - - -   - - - - - - -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20071120/b968e021/attachment.html>


More information about the Beowulf mailing list