Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

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

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

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.scyld.com/pipermail/beowulf/attachments/20071120/b968e021/attachment.html


More information about the Beowulf mailing list