13

I want to write (and have starting outlining) a physics textbook which assumes its reader is a competent computer programmer. Normal physics textbooks teach physical formulas and give problems that are solved with pen, paper and calculator. I want to provide a book that emphasizes computational physics, how computers can model physical systems and gives problems of the kind: write a program that can solve a set of physics problems. Third party open source libraries would be used to handle most of the computation and I want to use a high-level language like Java or C#.

Besides the fact I'd enjoy working on this, I think a physics-computer science joint curriculum should be offered in schools and this is part of a larger agenda to make this happen. I think physics students (like myself) should be learning how to use and leverage computers to solve abstract problems and sets of problems. I think programming languages should be thought of as a useful medium for engaging in many areas of inquiry.

Is this an idea worth pursuing? Is the merger of these two subjects in the form of an undergraduate college curriculum feasible? Are there any specific tools I should be leveraging or pitfalls I should be aware of? Has anyone heard of college courses or otherwise that assume this methodology? Are there any books/textbooks out there like the one I'm describing (for physics or any other subject)?

durron597
  • 7,610
  • 10
  • 39
  • 67
Ami
  • 2,045

5 Answers5

7

Yours is a good idea generally and is being pursued: have you seen Sussman and Wisdom's The Structure and Interpretation of Classical Mechanics? It teaches advanced classical physics using Scheme:

As an aside, I think there's a strong case to be made - and thus a need - for overhauling the teaching of many subjects with a computing foundation, because computation fundamentally extends our powers of modeling, not to mention teaching, learning, and thinking. In the book Masterminds of Programming, Paul Hudak (of Haskell fame) argues exactly for such an overhaul. Sussman, of course, also called for new ways of using computers to teach "old" subjects; SICM is a beautiful example of him doing so. I hope he takes on teaching quantum mechanics next!

Robert Harvey
  • 200,592
limist
  • 4,656
5

Drs. David Gavenda and Luther Frommhold at UT Austin were trying to do that exact thing, in the early-mid 1970s, using a timeshared Data General Nova system. I think Dr. Gavenda has retired, and I have no idea what became of Dr. Frommhold. (Dave Gavenda was definitely one of the Good Guys.)

Dr. Gordon Novak, in the UT Austin CS Department, was working on the other end of that. His dissertation, in Computational Linguistics, was a program that could understand and solve freshman-level ladder problems in statics. (Full Disclosure: Gordon is a friend from long, long ago.)

You might also take a look at Structure and Interpretation of Classical Mechanics, by Sussman and Wisdom.

I'm not sure this is a good idea, though. You can do some pretty demos, and it makes it easier to see SOME things, but much of elementary physics is teaching the student the methods, and giving an intuitive grasp of the material, and that's something that is probably better done the old-fashioned way.

3

I think it's a brilliant idea and as long as the computer language you choose is not too obscure, it could be a success. If you choose a language that nobody outside the scientific community uses anyway, you haven't achieved anything.

biziclop
  • 3,361
0

Is this an idea worth pursuing?

I certainly think so! It's an idea like this that makes me wish I was still an undergrad. And truth be told, I did once turn in a lab where the manual calculations were solved by Perl script I wrote. I attached the source code too. The TA didn't know much programming but when I finally got it back, it was full marks. And it took way less time to finsih the lab too.

Is the merger of these two subjects in the form of an undergraduate college curriculum feasible?

I don't see why not!

Are there any specific tools I should be leveraging or pitfalls I should be aware of?

Off the top of my head, Weka might be a good tool for data analysis. I think it has a Java API so it should be pretty accessible to Java developers, and it could probably make for some interesting exercises.

0
Is the merger of these two subjects in the form of an undergraduate college curriculum feasible?

I've long felt that a triple merger, physics, applied math, and computation makes sense. Perhaps even adding a fourth, computer graphics -at least enough to generate enough graphs to gain inutition. Computation has in some sense become the third way of doing science, after experiment and theory, and in order to be really good at it, you will need a grounding in all three. Also there are professional support jobs for say scientifically minded programmers, whose first love is the computer, and the math/science is secondary. Ideally there would be a way to satisfy groups with differing primary interests, some want computers first, others applied math, and still others science as their primary focus.