I am working on something like this myself. I started by reading the Structure and Interpretation of Classical Mechanics, which uses Scheme to teach Hamiltonian and Lagrangian mechanics. And it's much more effective than an ordinary math/physics book. Normal math is a kind of code, except that the VM that executes it is your brain. You (or I, anyway) can only progress if you understand absolutely everything down to the last detail. Programming is much easier. If you don't understand something you can put together a little simulation to poke at the edge cases.
So I finished SICM and I thought, "wouldn't it be cool if I could keep learning physics like this?" And so now I've gotten in touch with some physics postdocs (who are paid shockingly little). I pay them to learn Scheme and encode quantum mechanics, general relativity, statistical mechanics as scheme programs. I work on this about 10 hours a week. In a year or two I'll have knowledge equivalent to an ABD physics grad student, plus information that can take other people from modest beginnings to the same level.
One thing this project has taught me is that students have shockingly little power in their relationships with teachers. I am a major source of income for my postdocs. Some of them may be prioritizing me over some of their other duties. And it really shows. I'm a good self-learner, but there is no substitute for having someone work really hard to anticipate all your questions.
Another thing I've noticed is that everyone (except, increasingly, my postdocs) is a terrible teacher in academia. I have a friend, a fellow grad student, who is scheduled to teach her first lab in her first semester. The lab meets Tuesday. The one-hour credit-only class that will supposedly teach her how to teach meets Wednesday. On day one she'll be going in completely unprepared. And she's not atypical. I suppose that, since students have no power, few people care whether they learn well or just adequately, so people (administrators, professors) prioritize other things. The glaring exception to all this proves the rule. The one person who has done the most to make me successful in graduate school has been my advisor -- and his name will be on every paper I publish. (I like the guy a lot, but self-interest plays a role)
Obviously to each their own, but I find almost all attempts to use anything other than mathematics a needless abstraction for the most part. Being able to poke and prod is useful, but if you do the exercises you shouldn't need to for the most part. Tensor Indices are a bit tricky at first but most notation has evolved for a fairly obvious reason.
Complaining about mathematical notation is quite common on HN, but realistically it's by far and away the easiest part of learning physics (and that's not including gasp actually doing experiments properly). If you aren't planning on doing research I guess it doesn't matter but it's worth keeping in mind that if you learn everything via Scheme or what have you, you may end up in Rome doing as the greeks do.
As someone coming from the physics side of things, I was about to post a similar comment myself. However, what the commenter is trying to do actually provides value in a way most physicists haven't experienced. I agree it'll be hard to get far if you keep avoiding mathematics, but I also think that if a physicist can't program it in a way this person can, then that is indicating a deficiency in the physicist. And I don't mean that to emphasize the programming aspect, but more that it's easy to find physicists who become good at doing the math but not so good at the actual physics, and get by merely with mathematical manipulations.
I'm not avoiding mathematics. I used to be a mathematician. The math is the whole point.
In the mechanics library that comes with the book (which I'm building on in my own work), functions can take either numerical or symbolic values. If you have a computation involving symbolic values, you can manipulate it just like you would with pencil and paper (except you can operate at a higher level of abstraction, never get writer's cramp, and never have to laboriously recopy line after line of symbols to make sure you got the right number of minus signs). If, as so often happens, you find yourself up against an intractable integral, you pass the whole thing to a numerical solver and get a number back right away. With enough calculations you can build up a qualitative understanding of the system's behavior. My understanding is that this is what mechanics people do all day, but not how mechanics is taught to newcomers.
I taught Physics lab as a graduate student. I was surprised at how little formal guidance was provided by the University or department on how to teach effectively, how to engage with students, etc.
My guess about the level of engagement you are observing from the people you're paying: you are giving attention (measured in money) when few other people are demonstrating interest in their specialty.
Absolutely. The goal is to make ABD status available to anyone. Students learn better with programs than with lectures. Profs have more time because they don't have to lecture. Grad school becomes a more collaborative, research-based experience. It seems like a win-win to me.
The software side of it is tricky though. You often need a mental model before you can code. That's got to come by text, video, or whatever. So I have to develop something like a dynamic book with an embedded REPL. I've heard of small efforts in that direction (_why's tryruby.org was good but it's been taken down), but nothing built-out enough to support a multi-year reading project.
Amazing. I’m actually building this exact thing now at https://GitHub.com/sritchie/sicm for that book, and working on a port of https://github.com/littleredcomputer/sicmutils to Clojurescript to power this exact style of interactive textbook in the browser. I’d love to talk more if you’re interested in teaming up, or talking about any of this in more detail.
This sounds great. One hopes that in the years to come, all learning takes on such a multi-faceted structure.
I only wish there was a linear "wall" of learning, from baby arithmetic to algebraic cohomology, string theory, etc., with a clear(ish) path* of precedence for when you get stuck. (*generalized path, I suppose)
Maybe give latex a symbolic math system while we are at it, so that it may check our notes as we type them. ;)
The best way to learn something is incredibly subjective. I looked at SICM once, and I got nothing out of it. I learned classical mechanics from Arnold's "Mathematical Methods of Classical Mechanics". Now, I have total conviction that this is obviously the best way to learn it and I find it incomprehensible that anyone could disagree. And yet virtually nobody learns classical mechanics that way, so it's probably more of a idiosyncratic fact about me, and not a universal truth.
So I finished SICM and I thought, "wouldn't it be cool if I could keep learning physics like this?" And so now I've gotten in touch with some physics postdocs (who are paid shockingly little). I pay them to learn Scheme and encode quantum mechanics, general relativity, statistical mechanics as scheme programs. I work on this about 10 hours a week. In a year or two I'll have knowledge equivalent to an ABD physics grad student, plus information that can take other people from modest beginnings to the same level.
One thing this project has taught me is that students have shockingly little power in their relationships with teachers. I am a major source of income for my postdocs. Some of them may be prioritizing me over some of their other duties. And it really shows. I'm a good self-learner, but there is no substitute for having someone work really hard to anticipate all your questions.
Another thing I've noticed is that everyone (except, increasingly, my postdocs) is a terrible teacher in academia. I have a friend, a fellow grad student, who is scheduled to teach her first lab in her first semester. The lab meets Tuesday. The one-hour credit-only class that will supposedly teach her how to teach meets Wednesday. On day one she'll be going in completely unprepared. And she's not atypical. I suppose that, since students have no power, few people care whether they learn well or just adequately, so people (administrators, professors) prioritize other things. The glaring exception to all this proves the rule. The one person who has done the most to make me successful in graduate school has been my advisor -- and his name will be on every paper I publish. (I like the guy a lot, but self-interest plays a role)