[Beowulf] about clusters in high schools
Robert G. Brown
rgb at phy.duke.edu
Mon Jan 30 05:19:57 PST 2006
On Fri, 27 Jan 2006, Gerry Creager wrote:
> Mathcad and MatLab both have their uses but I'm not real happy seeing MatLab
> now seen as a parallelizable modeling tool. We're installing it for our
> Civil Engineering dept. so they can run some code they have, so I'll have
> more opinion about it shortly. What I fear is that, in using such a
> high-level "language" to script their models and analyses, the students...
> and the prof's... will have failed to understand the errors when they make
Duke's engineering school uses matlab ditto, and we've started using it
(or octave, the OS variant) to a limited extent in physics courses. And
we've use Mathematica for many years in upper level courses.
I think a fair way to view the use of things like matlab, octave, visual
python, mathematica, maple is that they are at best very mediocre
programming environments -- that isn't really their purpose. So much so
that it isn't really fair to call them a "programming language" although
they have many of the features of one and can be used as one.
What they are "good" for is teaching physics (or, I'm sure, certain
parts of engineering), especially where visualization or certain kinds
of numerical exploration are the object of the exercise. The fact that
the underlying programming language and visualization structure and
tools like the ODE solver or graphing tool are all big "black boxes"
isn't a problem because the point ISN'T to teach computing, it is to
help students learn a) That equations of motion that aren't
analytically/trivially solvable can still be numerically solved; b) that
there are tools to do the solution that are even easy to use; c) lots
and lots of things ABOUT those solutions -- the fact that hey, you really
DO need two constants of integration to get the right solution even from
an ODE solver, the fact that real trajectories through gasses with
drag forces aren't parabolas, the fact that nonlinearity can produce
some startling, and "analytically" indescribable solutions, more.
That is sure, it doesn't help them learn to code, but it can darn sure
help them learn physics, if used correctly.
The next question is SHOULD they learn to actually code in a "real"
language/environment. Even among programmers, that is virtually a
religious question (because the very next thing to address is WHAT
language, HOW "real"). Suppose the answer is yes, then should they
learn C++ or Java? Lots of CPS departments think so, these days. How
about Perl? Python? C? Fortran? "Any higher level language" is too
broad, as it would probably encompass visual python, matlab, etc, as one
can certainly DO real programs in those languages with some effort.
I'd argue that the correct answer at the University level is "no" --
they shouldn't be REQUIRED to learn a real programming language as a
GENERAL rule, they should be permitted to do so regardless of major or
interest, "encouraged" to do so when their majors are compatible (e.g.
math, physics, environmental science, chemistry, biology), and obviously
required to do so in computer science and certain branches of
engineering. It is also perfectly reasonable to require it for
particular courses nearly anywhere.
High school on down would be more of the same, limited by available
resources. I would LOVE to see courses in programming offered to
students who want to learn to program. Those courses will almost
certainly have to be taught in the language(s) the teacher knows, which
are likely to be highly constrained by THEIR training, their experience,
what the school can afford, whatever computer programming
"certification" might be locally, requirements of standardized tests.
> Right now, my son isn't interested in learning how to write code. It's not
> "cool" in his group of friends, and he sees the hours I put in at work as too
> much. I'm envious of you and the relationship that got you to the point
> where your son was able to embrace some of this.
> For what it's worth, I guess I'll have to be content with a great kid, and a
> pretty good soccer player, and teaching grad students how to write numerical
> weather code in an antiquated language!
Yeah, I haven't had any luck here either. My son will PLAY world of
warcraft for days, moan about how cool it would be to work for Blizzard,
but not touch an offer on my part to turn him into an ubercoder in a
year or two...
> Timothy W. Moore wrote:
>> It is my opinion that higher education does not prepare our future
>> scientists as well as they should. I am amazed at the program your
>> child's school offers... and I thought my son went to a good high
>> school. My son is a junior in engineering at a prominent Div 1
>> university (the same school I attended) and is not required to take any
>> programming languages. I was required to take FORTRAN and C programming
>> and apply those programming skills to solve problems. To this day, I
>> still use FORTRAN to solve complex problems in chemistry and physics.
>> I now run a small business with HPC and engineering at the core. My son
>> works for me during the summers and holidays where I expose him to
>> real-world problems and that the software package required for a
>> particular application is not always nicely bundled in the window$ OS
>> and most likely does not exist. I have him using Linux and doing
>> elementary programming in FORTRAN. Did you know that many engineering
>> programs have eliminated programming as a requirement? I thought this
>> to be an isolated incident until I discussed it with a colleague at
>> Sandia Nat'l Labs and he echoed the same sentiment. This gentleman
>> further noted that most applicants only know Matlab and/or Mathcad. I
>> personally have no beef with either package because I have used neither
>> and am sure they have good utility in the science world. I just do not
>> believe them to be a replacement for good programming skills.
>> I have also taught him networking skills, parallel computing, 32 bit vs.
>> 64 bit machines, scripting and AMD64/Itanium2 architectures. He has
>> indicated to me how much the information which I have imparted has
>> helped in his education making him a better student and having the
>> ability to understand problems. His interest is in CFD and uses the
>> codes not only for me but for school projects as well. He has his 64
>> bit workstation at school but for more challenging problems, he can ssh
>> into the intanium cluster here at the office. His experience outside
>> academia has already landed him a job offer where they want him to start
>> working during the summers until he finishes his education. He has
>> plans to atend graduate school because he knows he will be better
>> prepared for the the real world.
>> I now understand how someone can write extensive responses to these
>> sometimes simple questions. It is because the topic touches a nerve for
>> which we are so passionate. Continue your push for this project...it
>> will be so beneficial. The earlier these kids are exposed, the better
>> they absorb the knowledge AND retain it. They will attend college and
>> on day 1 will be light years ahead of their counterparts. Any professor
>> or administrator would be happy to have them employed for they could
>> walk in and begin work (with no/minimal training) immediately. My alma
>> mater now has a computer science program funded by various 3-letter
>> agencies emphasizing computer security for the USG. It is a program
>> that if you choose to give the USG the first few years of your career,
>> they will pay for either part/all of education and provide summer
>> employment (extensive background investigation required). I have met
>> one of the participants and he indicated that the program is on the
>> bleeding edge of technology. Is sounds as though grads of this high
>> school would be excellent applicants for this program.
>> I apologize for the long response...I just wish all students who wish to
>> be scientists, mathematicians, or programmers had access to what your
>> school offers. Keep up the good work!!!
Robert G. Brown http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb at phy.duke.edu
More information about the Beowulf