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


!DSPAM:4743431e187798362916074!