Thursday, May 25, 2006

Coffee Shop Physics

Dr. Bob Fuller was just by, enroute to return the rented van before flying back to his headquarters in Nebraska. Bob's been surveying physics departments about their use of computers, helping lay the groundwork for an upcoming issue of Computing in Science and Engineering.

Survey question: do you have a separate computation course and what languages and/or software packages do you use, if any?

I was somewhat amazed at how many are still teaching FORTRAN. I realize some of the best time-tested libraries persist in this language and I could see wrapping these libraries in a Python namespace, say, but not teaching FORTRAN as a productivity tool.

C++/C and Java rank next.

Then you have applications like Mathematica, MathCAD and Matlab. Bob had Python filed under this heading because VPython is maybe an application more than a bare bones computer language, and that's what some physics departments currently use.

I promised I'd provide Bob with a link to Another Alien Curriculum (2003), as he hadn't followed the action where Dr. R. R. Hake gave it a positive review, as that happened on math-teach @ the Math Forum more than on PHYSLRNR.

If Bernie Gunn's remarks are indicative, the computer science world hasn't done enough to keep other scientists in the loop, such that supposedly "easy" languages like Python instead come across as intimidating, jargon-filled, alien. Bernie is a geochemist with plenty of programming experience from the days of Fortran and Pascal:
The problem is what with populations out of control, religious wars, desertification, (and 15 million illegal immigrants) etc etc upon us we have a lot of problems to solve. And the average scientist has been shut out of using the best tool going, the good old PC. Talk to as many academics as you like, most can use email and digital camera storage and that is all. (Thu 5/25/2006 11:38 PM)
How can we fix this? Is scipy friendly enough for a beginner? As a member of the Python community, I feel motivated to help close this communications gap.

One strategy would be to start much earlier with the programming. I've outlined one possible solution in my recent Fuller School memo (5/23/2006) to the Math Forum.

Although I'm focusing on K12 in this memo, new adult education pathways might be pioneered along the same lines, i.e. let's study "math objects" (including colorful/textured polyhedra) in some extensible type system such as Python provides.