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
'em.
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...
Sigh.
rgb
gerry
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:[EMAIL PROTECTED]
_______________________________________________
Beowulf mailing list, [email protected]
To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf