I'm a CS graduate student, and I do a lot of Deep Learning Research. I've always wanted to get a strong foundation in Physics, and while on lockdown because of COVID, I thought it would be a great opportunity.
I've run across this incredible guide https://www.susanjfowler.com/blog/2016/8/13/so-you-want-to-l... and I was also thinking about going through MIT Open Courseware following their bachelor's curriculum.
Do you all have any suggestions or tips? I really appreciate it!
Susskind's "theoretical minimum" is actually pretty good.
Fowler gives a pretty conventional undergraduate physics curriculum (adding Feynman in there somehow). If it were me: learn the math tools first. I assume you know linear algebra; learn differential equations. From there, go straight to higher level books. There's very little difference in undergraduate vs graduate quantum mechanics and E&M other than the math is slightly more sophisticated in grad school. Might as well do it right. Messiah for QM and Jackson for E&M. Classical mechanics, the tradition is to learn Lagrangian mechanics in high level undergrad and Hamiltonian in grad school. There's no real reason to do it in this order, and a decent reason (understanding Quantum) to do it in reverse order. Amusingly, the math is cleaner in Hamiltonian mechanics, but you may find yourself unable to do some simple problems you can do with Newtonian physics; so this will be a weird working backward thing. Stat Mech, I think you should just read Reif; skip Ma or whatever they use in grad school now.
FWIIW I know/knew people who did this: started grad school without having done any undergrad courses in physics. I think skipping a lot of the introductory stuff, and visiting it later is actually better.
The rest of it can be done with the same machinery you learned in QM, E&M, Mechanics and Stat Mech. Max leverage if you had to pick one: probably classical mechanics for a DL guy, E&M for general knowledge of tools.
I'd suggest not actually trying to simulate physical systems on a computer: you probably stare at computers too much anyway.
this comment is right on the money on several fronts:
- the Feynman lectures are great after you already understand some of the mechanics of "doing" physics and have some other exposure to the topics, Halliday & Resnick is a better place to start on any one topic
- with infinite time, i'd always follow the approach of learning the math first and then the physics, the book by Boas is pretty good for self study of the minimum necessary math
- there's no real reason to follow a traditional grad school curriculum ala Fowler unless you need to pass quals in a traditional grad school setting
- simulating physical systems on computers is a pretty good exercise, but very time-consuming, avoid if you already spend a lot of time in front of computers
and some thoughts of my own:
- "get a strong foundation in Physics" is a bit too vague to be a useful goal, some examples of potentially better goals: "be able to pass a classical mechanics qual in the allotted time", "be able to write down the standard model and explain it", "be able to grok N papers from the X section of arxiv per week", "be able to write down toy classical field theories and calculate their predictions", ...
- if you are looking to avoid computers, try supplementing your reading with simple experiments either by buying educational kits or by hacking together things
- the books by David Griffiths (esp the E&M one) are awesome
- try to follow curiosity instead of a program: trying to answer "how do superconducting materials work?" for yourself is better than "follow the grad intro to condensed matter that's available online"
- use the physics stackexchange and other forums: asking and answering questions can be very helpful
But I'll suggest Marion and Thornton  for Classical. With Griffiths for E&M and Thornton for Classical you should be able to get a really good grasp on most of "physics". I'll also say that these series are upper division for undergrads. Given OP's background I think these would be fine starting points. If not, start with Halliday.
For grad level, the gold standard is Goldstein for Classical  and Jackson for Electrodynamics.
These types of books will give you a very strong base in physics and should enable you to branch out. Given your ML background you may be very interested in thermodynamics and statistical mechanics.
I'll also add an "out there" idea. Sign up for physics classes at your local community college if they offer labs. I say this as someone who went Physics -> CS and is doing HPC + ML. Labs really stress and force you to do analysis. Lower division labs won't ask too much, but if you go in with this intent I think you can get a lot out of it. I'm sure that if you did these lower div labs and talked to a professor at your local uni they would allow you to sit in on upper division labs (you would NEED to show that you are serious first, because these labs can be dangerous! Happy to help you learn doesn't mean happy to babysit and make sure you don't electrocute yourself or making sure you don't take a laser to the eye. TAing undergrad labs I saw enough people get electrocuted, including myself... more than once).
He asked me how to learn physics; not how to learn some wimpy undergrad physics which doesn't give you the big picture. Hindsight my undergrad E&M book was a waste of time, and we should have just used Jackson. I still have Jackson (and Eyges) on my shelf; the undergrad book was recycled years ago.
Jackson's problems are more technically difficult than, say, Purcell's, but how much of that difficulty actually helps with understanding E&M?
Also, the look into the Feynman book QED once you have a little bit under your belt. Its a fun and pretty short read and there isn't much math at all. I also think its a fun thing to read while learning EM since it opens you mind up to the next subject down the line, QED.
To me that’s just a subjective list the author likes.
The replies seem a bit on the level of “...but everyone knows really.”
I always took notions like “expert” virtue signaling to mean experts seem convinced we should all learn via the timelines they did.
Uni students versed in textbook physics, linear timelines for learning cause that’s how society taught them, are also experts in working cognitive theories. Incredible.
but the prompt isn't "list some books you like" but "how should I learn" so there's obviously intent in picking those books.
English is a terrible language and taking how we use it so literally is as bad as the language itself.
Coming from Nuclear Engineering I thought it was fine.
(I got a Ph.D. in theoretical quantum optics, and I do have over a decade of experience teaching gifted high-school students. There is a lot of experience that works, and doesn't work, on people without prior background.)
Feynman Lectures are much a more lively, insightful, overview of physics (I started reading when I was 14 or 15 y.o.; jumped there after reading one advanced high-school textbook). While I do know people who preferred Halliday & Resnick, these were people who liked a more straightforward, even if less insightful or colorful, approach.
> learn the math tools first.
Nope. You can spend 2 years (not a joke) to get mathematics to prove Stokes theorem, in one of the more general versions. Or draw a few cubes and squares, and get there is 15 mins or so. For regular 1 dim integrals, it is a one year course of mathematical analysis, if you want to do it rigorously.
For many tools (e.g. Fenman Path Integrals) there is no rigorous math approach that is in use (at all). While, sure, you need to continuously improve your mathematical skills, my strong suggestion is first physics, then maths. Same Dirac Delta first as a trick, only later (and if you wish for math's sake) learn about distributions, Radon measures, etc.
For E&M: for introduction, totally start with Griffiths. It is much more approachable as the introduction.
> There's very little difference in undergraduate vs graduate quantum mechanics.
I don't know where to get started, but it is nor true. For quantum information - yes, you can start with undergraduate maths. For anything going into quantum field theory, you would need to know much more about Lagrangian mechanics, group representations, symmetries, differential geometry, etc.
You're out of your mind. You don't need to prove Gauss-Stokes in the general version to understand Maxwell's equations; you just need 3-d calculus, and you're done. Bike shedding the process further is silly: I could claim you don't really understand GR (or for that matter, E&M) without Hatcher-level understanding of Algebraic topology. All you need is the simple calculus theorem, such as is presented in Jackson.
> For anything going into quantum field theory....
This is a rubbish argument: yes, you need more math to do quantum field theory. You also need basic quantum mechanics first, which is what I'm talking about for a self study program. If you want to go on to fiddle with QED, you can fool around with Itzykson and Zuber (and Griffiths book) later, when you actually know how non-relativistic QM works, and how relativity works. First learn basic Schroedinger stuff and something like S-matrix theory. Don't learn the shitty undergrad training wheels crapola; do the real thing. That's my advice in general. If you work your way through a differential equations book; there is no point in doing the intermediate stuff and a great argument (it's a waste of time; a make work program for physics professors, and a weeder for people with low dedication to the subject) for skipping it.
FWIIW I was not a theorist, though I had some theory papers queued up on quantum dynamics. I think what everyone knows after first year of grad school is a pretty good basket of knowledge, which is why the 1st year grad school program is virtually identical everywhere in the world. It's like a gentleman learning Latin in the old days. There is a direct line from advanced calculus to completed first years of grad school physics; one which I outlined above. The imbecile make-work program of doing a bunch of intermediate problems in junior and senior year; it's really not worth it if you're an adult with a functioning cerebral cortex. Or if you're trying to pass prelims/GREs which test you on these subjects. Otherwise; skip it -do the important bits, and revisit the training wheels versions later when you need them. That's all.
> why the 1st year grad school program is virtually identical everywhere in the world
Certainly, it isn't. In the US usually starts with heavy regular coursework. In many European, there is some coursework. Unlike undergraduate physics, which is less varied, the subjects vary heavily on the place (specialization, the focus of concrete groups). In my case, it was purely research, no classes or teaching (it is less common, though).
Source: quite a lot of my friends did graduate-level physics in various places worldwide.
Agree with this 100%. To learn math or physics you have to do it, experiment, and all that.
LL and Feynman are definitely nice to look back upon though.
This doesn't contradict your point. A particular individual may find them very helpful in learning and understanding the foundational stuff. By all means try, and if it works for you, great.
However, it shouldn't be at the top of anyone's list of things to try first. And if you have tried, and it didn't work well for you - it's not you.
For people at the Physics Olympiad level, it is hard to find something as eye-opening and insightful as Feynman Lectures on Physics.
For more "general audience", I guess that a more step-by-step is preferred. I know many people (usually not the Olympiad tribe) who preferred Halliday & Resnick.
Including, you know, Richard Feynman.
But definitely sometimes for some. Including to start with.
They’re quite beautiful.
Let's imagine physics=boxing. No amount of reading boxing books, or watching boxing videos is going to teach you any boxing. To learn boxing you have to throw 10,000 punches. To learn physics, you need to solve 1000s of questions. That is the necessary and sufficient condition for understanding physics.
Same way one learns software engineering after writing 100s/1000s of programs, not by watching videos of smart people coding (though that can help make you better).
I'm not sure that this is a very good analogy. You can buy a heavy bag, and go out in your garage and throw 10000 punches - with no instruction - and still not know how to throw a proper punch. OTOH, you can watch a few videos, learn some technique, and then go refine it by throwing the 10000 punches in the gym, and be a lot better off. Of course, it still won't be as good as hands-on training from a proper trainer, but my point is that you need both in the boxing case.
For physics... eh, I dunno. My original plan for college was to major in physics, and then I discovered computers, and physics went (mostly) out the door and in the rear-view mirror.
Exactly. Feynman lectures tell you what the laws are, and why they make intuitive sense. They don't tell you how to apply the laws to a wide variety of scenarios, even those not discussed in the book. Physics textbooks like Haliday & Resnick do exactly this; briefly state the law and then teach you how to apply the law.
But merely reading those textbooks won't help you either. You still have to turn to the exercises and solve a bunch of questions correctly to actually learn.
We actually agree, almost perfectly.
I contend that for some, including myself, they are an incredibly powerful tool for building an intuition. Not only after other studies, but during and before as well.
You say your part as someone who teaches, and that's important. Conversely, I say my part as someone who has learned and is learning.
But we are in almost perfect agreement.
There are two kinds of physics, Math and Physics. Most of what you learn in uni physics is Math. But the Math is only one (outdated) description of the nature of physical law.
Leonard Susskind himself has said on multiple occasions that the equations of physics are at most highschool math however the solutions are sometimes phd+ level.
To me Physics is the study of the relationship between state. Mostly this state is finite and the laws governing its evolution are simple and local. A computer is the best tool to discover the solutions to this evolving state.
>There are two kinds of physics, Math and Physics. Most of what you learn in uni physics is Math. But the Math is only one (outdated) description of the nature of physical law.
Lord knows what you mean by this. By "math physics" do you mean theoretical, and by "physics physics" the experimental part? Even then, this doesn't make any sense. Every physics course teaches theory and experiment. Particularly, what do you mean by "Math is only one outdated description of the nature of physical law"? I'm very curious, maybe I'm missing something.
>Leonard Susskind himself has said on multiple occasions that the equations of physics are at most highschool math however the solutions are sometimes phd+ level.
So? Again, I don't see what you're trying to imply with this. Seems a perfectly correct observation.
>To me Physics is the study of the relationship between state. Mostly this state is finite and the laws governing its evolution are simple and local. A computer is the best tool to discover the solutions to this evolving state.
This to my opinion is, for a lack of a better word, "hipsterism". Physics is the science that studies the universe at the most fundamental level/low level. That's it. "State"? "This state is finite"? What do you mean by "this state is finite"? I struggle to see what this is trying to describe (there are infinite degrees of freedom in many theories throughout physics).
Without him dreaming up his experiments and tinkering away, god knows when Maxwell's equations would have been discovered.
Why did we have to wait for a Faraday to show up to do his simple experiments? How come all the natural philosophers and mathematicians of the age, around the whole planet, had not thought to do them?
If Faraday had asked that bunch how do I self-study physics the answers wouldn't have been too different to what we see today.
Today's version of Faraday could very well be some kid hacking away at some computer game, dreaming up scenarios, exercising imagination and cooking up experiments in the same way Faraday did.
If you want to do a standard study in physics you are probably going to go through a significant amount of mathematics.
This is because the laws "universe at the most fundamental level/low level" are expressed as math equations.
If OP wants to go that route then there are tons of resources available to them.
But since OP already has a CS degree I think a possible entry point is exploring these laws through computers and in some way deriving them from simulation (here is one such simulation https://www.falstad.com/gas/)
lets leave the more outlandish claims alone for now. Perhaps I went to far.
Is this the lack of additional parameters for the equations? All of my physics problems (only took a couple courses) were like "what if this spherical horse rolled down a hill at 34 degree decline" but failed to include friction, atmosphere. Just gravity. It always felt fake to me. Perhaps this is what you were alluding to by the "outdated" description?
Ceteris paribus there is one significant distinction between Mathematics and Computer Science: state.
The Mathematical Universe is immutable/stateless/timeless.
The Computational Universe is mutable/stateful/time-bound.
The observer effect in physics can be trivially expressed and evaluated as a mutating getter in any programming language.
It cannot be expressed in any Mathematical grammar.
Not all functions are referentially transparent. All Mathematical functions are assumed to be.
A bunch of functional programmers would like to have a word with you.
Yeah. I know ;)
You know that it could produce a different result on consecutive calls, right? Because the notion of a mutex/lock doesn’t exist in Math.
Mathematics doesn’t allow that, because it is not a “pure function”.
Non-determinism is the norm in distributed systems.
e.g any networked Turing machine.
Mathematics uses denotational semantics. It implies pass by-value and pass-by-reference are equivalent. They are in theory, they aren't in practice. That is why Haskell's lazy evaluation leaks time.
Engineers/physicists intuitively rely at least on operational semantics. It's a higher order logic, and since Linear Logic time is localized.
Could you maybe illustrate this with an example?
As with all philosophical squabbles - there are arguments for each side. It's up to you to make up your mind based on your particular use-case.
And so in context of crypto + Haskell, have a look at these two posts:
I was more wondering how time leaks and laziness relates to denotational vs operational semantics? I couldn't find anything about either in the links (they seem to be general descriptions of haskell and laziness..?).
You can't formalize the notion of 'safety' let alone prove (in the Mathematical sense) that your code has it without examining its runtime behaviour.
In the words of Donald Knuth: Beware of bugs in the above code; I have only proved it correct, not tried it.
In one context lazy evaluation may be 'safe' - it another it may be 'dangerous' - the context in which this assertion is made is always about human needs and expectations, not mathematics.
With particular example being that lazy evaluation allows for side-channel attacks in cryptographic systems. That's undesirable - hence operationally 'unsafe'.
>It cannot be expressed in any Mathematical grammar.
What on earth are you trying to say...? There is a whole mathematical treatment of quantum mechanics, measurement effect included (several treatments). More to the point, any algorithm can be formalised in e.g. a Turing machine, or any other equivalent universal model of computation. So there's literally nothing in "computer science" that you cannot express in mathematics.
This reeks of Dunning-Kruger: you don't even know enough about what you're talking about to realise how badly little sense you're making. I strongly suggest you familiarise yourself with a topic before opining about it. I'll be hard-pressed to believe you ever opened a physics textbook in your life after high school. Why then do you feel the need to talk blindly about it? I never opened a book about aeronautics in my life, therefore I would never presume to lecture anybody about plane-building... That would just be arrogance.
You can just address their ideas, this extra stuff isn't helpful.
>>The lesson is for those “experts” who “know” that all reasonable models of computation are equivalent to Turing machines. This is true if one looks just at functions from N toN. However, at higher types, such as the type of our function m, questions of representation become important, and it does matter which model of computation is used.
Mathematics only proves things up to isomorphism. Two things that are theoretically equivalent are not necessarily empirically equivalent.
Or, just the good ol' adage: in theory there is no difference between theory and practice, but in practice there is.
>So there's literally nothing in "computer science" that you cannot express in mathematics.
In addition to the examples in the blog post linked above, you cannot express a mutating getter in Mathematics.
Go ahead. I'll wait.
Re mutating getter:
Monads for example are a standard way of formalising state in a pure-function universe. You seem to have some fundamental misconception about what "mathematics" is, since you keep repeating something about purity. Mathematics is merely the rigorous study of formal systems, of which your mystical "mutating getter" is one such system.
To assert that a premise is fallacious mandates that you have some prior notion of "fallaciousness".
You don't have an objective criterion for asserting whether one definition is better than another because you don't have a notion of "betterness" - it's all conventional.
It's precisely because I am an over-zealous formalist is why I see Mathematics for what it is - grammar, syntax and semantics.
It's just language.
I'm definitely not an expert but aren't irrational numbers are the best examples to show that these types of constructs already exist in math? You can't calculate them in finite amount of time. You use an analytical formula or series expansions to get the nth term instead.
Every time you call read() on it - you get a different result. It has side-effects.
This violates the “purity” of Mathematics.
That's not a train-smash for your argument if you can show me a Mathematical model for a global mutex.
When the discussion turns to control-flow you are inevitably in the land of well-ordered imperatives, not Mathematical, lazy-evaluated declaratives.
If we claim to be subscribed to denotational (Mathematical) semantics then the above contradicts the identity axiom.
And it's not any deep and world-changing insight either - it's obvious to anybody who sees that the LHS and RHS are only evaluated at runtime - they don't have any inherent (denotational) meaning, which is why I keep harping on: programmers use different semantics to mathematicians.
We care about things like interaction and control flow structures as first class citizens - those are precisely the things that have no mathematical equivalents. Timeouts, exceptions, retry loops.
It's not "syntactic sugar" - it's necessity for reifying control flow. In the words of the (late) Ed Nelson: The dwelling place of meaning is syntax; semantics is the home of illusion.
Neither can you express foobarish bamboozles...
First of all - great idea! It is never too late to learn math and physics! In fact, with hard work and commitment, anybody can muster them to a high level.
(1) Reading =/= understanding in math and physics. You understand a topic only if you can solve the problems.
(2) Work through the solved problems you encounter in textbooks carefully.
(3) Most people around me have never read any physics textbook cover to cover. E.g. reading Halliday, Resnick & Walker completely might take you years! Not all topics are equally important. Focus on the important parts.
(4) You need guidance on what is important and what is not. Online courses, college material (especially problem sets!), teaching webpages could be a helpful guide. MIT OCW is an excellent resource, once you are ready for it.
(5) Finding someone to talk to is really useful. You will likely have questions. Cultivating some relationship that allows you to ask questions is invaluable.
(4) College courses in math and physics have a very definitive order. It is really difficult to skip any step along the way. E.g. to understand special relativity, you must first understand classical physics and electrodynamics.
(5) Be prepared that the timescales in physics are long. Often, what turns people off is that they do not get things quickly (e.g. in 15-30 minutes). If you find yourself thinking hours about seemingly simple problems, do not despair! That is normal in physics.
(6) You have to 'soak in' physics. It takes time. Initially, you might feel like you do not make a lot of progress, but the more you know, the quicker it will get. Give yourself time and be patient and persistent.
(7) Often, just writing things down helps a lot with making things stick. It is a way of developing 'muscle memory'. So try and take notes while reading. Copying out solved problems from textbooks is also a good technique.
(8) Counterintuitive: If you get completely stuck, move on! Learning often happens in non-linear ways. If you hit an insurmountable roadblock, just keep going. When you return in a few days/weeks, things will almost certainly be clearer.
This is something our education system does a poor job at.
My observation from watching a 3.5-year-old all the time is that bootstrapping most skills (e.g. riding a 2-wheeled scooter, solving simple logic puzzles, drawing, cutting with scissors, building structures out of construction toys) does not require frequent or extensive practice per se, but only practice spaced out in time, combined with a positive emotional outlook. The student can try something with limited success for a little while (maybe 15–30 minutes), go away for a few weeks, come try again and fail again, go away for another few weeks, etc., and after a few months there are sudden leaps in ability as the brain has apparently been churning away at the problem in the background without any obvious deliberate effort in between.
I think we should be organizing education to expose concepts and tools early before people are “ready”, but not putting any particular pressure on repeated failure/struggle, and then trying again intermittently.
Instead we try to organize instruction so that each idea, tool, or method is taught once, with students encountering something new for the first time and being expected to understand it through short-term brute effort and punished if they fail, and then often a concept or idea is subsequently left aside and not revisited.
Very true, very true. But I have to give grades.
Sure there are things you can do, like quizzes they take as many times as they want and where you only take the final value. But then people don't complete the work. I can't pass them along to Calc II without knowing 70% of Calc I.
It's a tough question in psychology. I had hoped tech would help with it, but I've not had luck in that direction.
This is so fundamental. I picked up a similar concept from a passionate english teacher in 7th grade. He said, after a certain point you've done all that you can do, so let your subconscious work on it, sleep on it and the next day or week you'll find your idea coming together. Paraphrased of course.
Sleep is a very important component of this IMO. It doesn't work as well if you are in poor health and sleep-deprived.
It's like some kind of garbage collection and backend processing happens that we just don't fully understand yet as part of the learning process.
Similarly, I found back in college that concepts processed and stored in short-term memory needed to be "slept on" to fully and solidly store into long-term memory and "stick".
Control the input, carefully imagine and focus on the desired output and your brain will take care of much of the rest. Let it.
Often times, well known phenomena and concepts are NOT explained well specifically because they are well known. Whether it's a lecturer or a YouTube video, lots of sources tend to skimp out on the fundamentals. Having said that, don't let it discourage you. It took me forever to discover what the Uncertainty Principle actually means and how it manifests itself in real life. This is related to point 5) I guess.
However, some points are IMHO superfluous, for example:
> Not all topics are equally important. Focus on the important parts.
These statements are correct and general, and most people would agree with (even having no idea the topic), but are rarely actionable (or even: make sense for a newcomer). Vide most of the motivational quotations.
In short: hard to disagree. But how the heck a newcomer knows what is important and what is not?
There are plenty of textbooks and lecture notes available online and that article links to most of the popular choices. Make sure to choose correct order of topics to avoid getting stuck!
For reference, I studied theoretical physics up to a bachelor level in university. Despite the "theory" focus I still had to do the same amount of lab work as everyone else. I did not enjoy it. I didn't learn much about the concepts from it.
I did however learn about the importance of visualising and representing data, statistics and so on.
We all learn differently I guess - for me lab work was a chore and that mental barrier probably didn't help me learn what the experiments were designed to teach.
Experiments teach you, that reality is complicated and models have to be simple, but with judicious choices of assumptions, one can still get accurate and precise prediction out of simple models. I am a theoretical physicist, but I would say the experimental courses I have taken were the most important courses in understanding the limitation of theory.
Are you a PhD student? And if so, are you aiming at a career in academic research? I'll offer my advice as a math professor, and as someone who supervises students.
If you want to get a strong foundation in physics, then reading Halliday + Resnick, and doing a large number of the exercises, would be one good way to go about it. (Look for used copies of previous editions on Amazon -- they'll be cheap.) There are plenty of other good suggestions in the blog post you linked, and also in this thread.
However, and I hate to throw water on such a noble aspiration, are you sure that this is what you want to do? Getting a "strong foundation" takes a lot of effort. If you want to invest this effort, then great! But you might consider investing that effort into learning something closer to your field, which would both be interesting and directly help in your research.
In my observation, it is common for graduate students and professors to learn about areas outside their research area, but they don't always worry so much about getting a "strong foundation". For example, when I was a PhD student, one of my fellow students enrolled in a graduate course in physics, without worrying too much about whether he satisfied the prerequisites. It was a great experience for him, and it's one that apparently helped him a great deal in his mathematics research career.
Myself, I have invested a fair amount of time learning algebraic geometry, which is a difficult area of mathematics, different from my specialty. The results have been ambiguous -- I still don't know the field nearly as well as I wish I did. In particular, I still have only a sketchy understanding of the foundations. But, happily, I know enough to talk to algebraic geometers. Indeed, I'm currently writing a paper with a colleague in the subject, which involves both his specialty and mine -- it's not one that either of us could have written on our own.
In any case, good luck and best wishes to you!
1. Action Principle: A lot of problems in mechanics can be boiled down to writing down the correct Lagrangian.
2. Statistical physics, this teaches you about to think in terms of "Zustandssummen" and is the starting point for deriving lots of interesting laws like black body radiation.
3. Field (Gauge) Theory, turns out you can write down and derive interesting Lagrangians for Electrodynamics, Fluid Dynamics and General Relativity as well.
3.1. Noethers Theorem and Symmetries allow you to get a unified view of conserved quantities.
4. Spinors, they are fundamental for understanding the quantum behaviour of matter
5. Path Integrals necessary to understand Feynman diagrams and Calculations in Quantum Field Theory.
6. Do the harmonic oscillator in as many different ways as possible, a lot of physics can be understood by solving the harmonic oscillator or coupled oscillators. Once you've understood why this is the case and the situations in which it isn't true, you will have understood a lot of physics.
I would recommend a depth first instead of breadth first approach. Pick something advanced that really interests you and work backwards what prerequisites you need to understand it. There are parts of classical physics that are super interesting but barely anyone learns about them anymore (I skimmed through Sommerfeld's lectures on theoretical physics once, they contain all kinds of super interesting problems with spinning billiard balls, tops and so on, this was at a time when Quantum Mechanics was in its infancy).
I really like the idea of "depth first and work backwards" though. I finished undergrad with a degree in physics about a year ago, focused mostly on AMO, but since then I've seen all these headlines about AdS-CFT correspondence and cool quantum gravity papers and trying to read them is wayyy over my head. What I realized was that to read these papers, I needed to backtrack. I kinda needed to be familiar with some of the toy models for black holes in a quantum setting, which requires quantum field theory, which requires classical field theory, which I never got around to in school.
So now I'm reading a set of classical field theory notes and loving it! Plus I get to look forward to the eventual dig all the way back down to AdS-CFT.
There's something that intuitively sounds very right about that...
This list seems very interesting...
I will have to explore all of these areas in greater detail... I'm not a physicist by profession, but I find most of your list's topics fascinating...
However, make sure you practice your skills. It is very easy to get the impression that one understands something, yet not being able to solve a basic exercise (no matter if it is programming or physics).
For an intro to quantum physics, I gathered some materials "Quantum mechanics for high-school students": https://p.migdal.pl/2016/08/15/quantum-mechanics-for-high-sc...
As you come from a programming background, I really encourage you to write small simulations of some pieces. For problems, it is easy to find books with problems for Olympiad preparation (I have a long list of them but in Polish). Or something like:
As I said, I think the parent covered that, but just wanted to try to make it a little more explicit.
This is after I tried reading a bunch of physics books and, while interesting, I couldn't really get my head around "Ok, so how would I program something like that?"
But then there's this, you might find it interesting, it helped me understand how everything fits together a lot more: https://github.com/barbagroup/CFDPython
Also, physics is a big area, so this is just one part, specifically the physics of fluid simulation. But there's a big market behind CFD too, so you could do worse in picking something with some directly practical application.
The book has been posted on HN in the past 
Game programming is an underrated/underused tool to teach math, physics and programming.
In my experience these are some of the best online courses you can watch to learn physics. Personally, I would look into the trying to watch the lectures from Walter Lewin--Walter is a fantastic orator and has a really great mad-scientist persona that is really captivating. Some additional archived lectures can be found here: http://dspace.mit.edu/handle/1721.1/34001
and here: https://ocw.mit.edu/courses/physics/archived-physics-courses...
I got my minor in physics from NYU many many moons ago (yes I'm getting old), but I found that the MIT lectures and OCW materials went way beyond the NYU coursework in both breadth and depth. I watched these lectures and worked through the lecture notes & assignments for Physics I, II, III, Quantum I, II, and several others in addition to digging into the Mathematics lectures / content. I found this material to be the most helpful out there. I'll also point out that I emailed the professors (Lewin, and others) and was pleased to receive a warm and helpful response on several occasions. I hope these are as helpful for your learning as they were for mine.
Once, you are able to complete the video lectures here, OCW has a massive amount of content for some of the more advanced courses that aren't in video format. In my experience, going through these video lectures and some of the mathematics lectures should set you up well to be able to comprehend even the most advanced content across field theory and string theory.
KoMaL  is a high school competition, students have one month to solve five physics problems (they can solve more, but only the five best is counted each month). Unfortunately older archives are only in Hungarian, but this is an endless resource, you can come back for new problems each month.
Ortvay  is a yearly take-home, one week long problem solving competition for University students. These problems are _very_ hard, so don't be discouraged by not being able to solve them right away.
 and  are some of my favorite books with Physics problems from Hungarian authors. The problems have varying difficulty, but they are clearly marked in this regard. There are separate hints and full solutions.
* Don't get discouraged. Physics is hard!
* Work on problems, and don't let yourself look at the
solutions too soon. Sometimes it takes a few days of thinking to solve a problem.
* When reading through equations, go really slow. Make sure you fully understand each step and don't let yourself skim.
Edit: +1 for the guide you linked, it looks excellent.
Classical Mechanics - John R Taylor
Structure and Interpretation of Classical Mechanics - Sussman & Wisdom https://mitpress.mit.edu/books/structure-and-interpretation-...
The Theoretical Minimum - Susskind https://theoreticalminimum.com/
Introduction to Classical Mechanics - David J Morin
Going through the series 8.012, 8.022, 8.03, 8.033, 8.04, 8.044, 8.05, 8.06 will give you the core theoretical knowledge of a physics major. (I assume you already know all the relevant math background.) If you prefer lecture notes, I imagine the best thing is to go through David Tong's lecture notes  from start to finish, as these cover almost the entire Cambridge undergraduate curriculum very clearly. If you want textbooks, at least in America, the books one uses for these courses are pretty standardized, and Fowler's blog post lays out these standard choices. For more advanced books, I have a pretty extensive bibliography in the front matter of my personal lecture notes .
Foundation can mean a lot of things. It can mean having a really solid grasp of how Newtonian mechanics is put together. It can mean having a solid grasp of doing experimental physics on classical systems. It can mean having a mathematical understanding of symplectic manifolds and quantization. It can mean replacing your naive physical model of motion in your hind brain with a learned, Newtonian model.
If you've never done any lab work, actually getting a stopwatch and conducting experiments with balls rolling down inclined planes and the like can be...eye opening.
You will need problems to work, otherwise anything you do is superficial. For example, here's a collection of elementary physics problems: https://archive.org/details/BukhovtsevEtAlProblemsInElementa... (The Russians were great about building this kind of collection.)
If you can give some more detail, it will help us direct you better.
So, that's a typical first-year (two term) course in physics.
After that, do Purcell for Electricity & Magnetism
You'll often get advice, like "you need to learn XYZ math first". Don't listen to this! Just learn the math as you go along -- it's much more efficient. The have to learn X first puts up unnecessary roadblocks and chances to get discouraged. You can always circle back for more elegant treatments once you math up. E.g. learning 4-vectors makes special relativity a lot less ad-hoc and weird seeming. It becomes obvious.
P.S. I was prototyping a subscription app to teach E&M, but started to think of just teaching physics in general. Would you pay something like $15/mo to have a adaptive-learning app/game/personal AL tutor to teach you first & 2nd year physics?
This once came out as part of Berkeley Physics Course  which I think would be a great complement to Feynman's Lectures.
1) Have a read through Witkin & Baraff's Physically Based Modelling SIGGRAPH 2001 course notes. Short, sweet, and packed with real-world expertise/tricks.
2) Look up stuff by Chris Hecker from the '90s and early aughts.
3) Ian Millington's _Game Physics Engine Development_ is very good.
The courses aren't super cheap, they're around $2,000 each, but having classmates, a mentor, deadlines, and a legit program to structure my learning around has been so helpful. Not to mention that my grades are legit for pre-reqs if I do want to go the full grad school route. I'm almost done with the I level courses and started the II level courses 2/3 of the way through the I.
I think a lot of people on here might say my approach is kind of basic (I see people recommending working differential equations or something to start), but I've found it really enlightening to start from the very beginning and things are starting to get challenging as I get into the second level, especially with Calculus. Maybe if you just looked up Physics I and II and Calc I and II curriculums, and got the textbooks (Conceptual Physics by Paul G Hewitt and Calculus: Early Transcendentals by Robert Smith) you could do a lot of the same exercises.
Hope that's helpful!
I say this because
-- It motivates and sketches statistical mechanics, which I expect is the most interesting topic to you given your specialty.
-- It elegantly makes a point that I think is very important about physics: that physics is _almost entirely_ mathematical. The remainder is just about constraining the math to reflect the possibilities that seem to be actually realizable in nature.
Of course there's a lot more to physics than is described here, and you'll want to study the particular phenomena that emerge -- that's the whole point. But I think that given your background, setting this perspective will allow you to ask the right questions when you approach a new topic, and allow you to go out of the normal order.
One more note about the nature of doing/understanding physics: a huge part of it is taking the right limit. Reasonably complicated systems described in the language of some theory are generally intractable to analyze exactly, or to draw general conclusions from, so you need to throw something away to make progress. Figuring out the right limit is the same as figuring out what details you can throw away while preserving the core phenomenon you're interested in.
One thing that is important: Everything starts with classical mechanics. Newtownian phsyics is the base for everything and you will never advance without knowing this really well. That said, in my undergrad mechanics class in my first term as a physics student, we started out with classical Newtonian mechanics and then quickly moved on to the Lagrangian and Hamiltonian formulations of classical mechanics. I don't see why that should be something reserved for graduate classes.
Further, since you're not a math or physics student, I assume you will quickly reach the limits of your math education. Things that are required for properly understanding the theoretical foundations even just mechanics are:
- n-dimensional calculus (think Tensors, Gradients, divergences, Laplacians, etc.)
- complex numbers and functions
- basic knowledge of differential equations and ways to solve them
- things like Fourier transforms and things like Vector spaces, groups and symmetries
- basic statistics knowledge of course
- linear algebra
Second, like some people have already mentioned: Just reading a book will not teach you physics. Actually solving the problem in whatever resources you're using will, though. They take much, much longer than just reading a book, however.
Bad Integrals? Tensor Analysis? Fancy functions and special polynomials? PDE tricks?
Boas has solutions!
Methods are practically explained and succinct. It's my favorite book to brush up on a old technique or learn some new methods.
Wolfram's Mathworld is also a good reference, but not as much of a learning tool.
If you want a general grounding have a look at Fundamentals of Physics any addition and work through some of the problems.
You will need calculus, which CS doesn't use at all.
If you want something better: http://www.goodtheorist.science/ It will take you 10 years or so.
I studied physics (2001-2006) and teach physics (and math) at a high school and am working through the list of proposed books (and others ) again, just to stay up-to-date :)
Other ressources: brilliant.org, quanta magazine,youtube channels (Veritasium/Vsauce/Physics Girl/PBS Spacetime...), ...
 e.g. Leonard Susskind's "The theoretical minimum" series.
The main way to learn physics though, on your own or in a program, is by doing problems and labs. You can start by doing the coursework you find for an established class. Another is by working through problems in a text book. As for labs, hacking together what you can is both valuable and rewarding. A few examples are estimating absolute zero, measuring the coefficient of friction, exploring momentum with ball bearings.
A few other things that I have found work for me. First, work towards a goal. Whether that be to calculate the orbit of a planet, understand quantum tunneling, or estimate a dynamic process. The second is to take the time follow thoughts as far as you can, using the social communities and resources available on the web (quora, reddit, etc).
I think what is crucially important is to have someone to talk to. To engage with another human being in a discussion, at every step of the learning curve.
I studied physics in Germany 2005-2010, an then did my PhD 2010-2015.
In hindsight, I must conclude that being forced to discuss things with other people at every step was what taught me the most, was long-term the most rewarding.
About my own level of understanding, about judging my abilities, about how to actually solve problems.
Examples from my time studying:
- discussion among two people: trying to grasp and crack the same exercise
- discussion in the larger study group (5 people): when helping each other out, having to admit not having understood a certain thing, and specifically trying to address the "wait, I don't get this yet"s everyone has.
- discussion in exercise class (20 people): presenting "your" solution in a concise way, seeing other solutions, discussing caveats, pros, cons, elegance, deficiencies
- discussion in seminars: presenting "old" concepts to each other, discussing them and their historical relevance
... and so on.
In hindsight these countless discussions in smaller and larger study groups were _priceless_ towards understanding what physics is about. I mean it! After all, physics is science, and in science you can only contribute in a meaningful way when you understand the mental model of your fellow scientists reasonably well, when you "speak the same language".
I understand that this might be in conflict with "self-studying physics". If it is then it's important to be aware of it, possibly to try really hard to compensate for it (to find someone to do this together with, maybe!).
Old joke from Anonymous: "Theoretical physicists aren't very expensive -- they only need a blackboard and an eraser. Compare that to a philosopher -- much the same but without the eraser."
Is a great starting point. There are also free online courses for that.
— Solve exercises
— Learn the fundamentals (action principle, conservation laws, symmetries, statistical physics)
— With that, work on generalized coordinates, Lagrangian and Hamiltonian mechanics
— Brush up your calculus, vector calculus and linear algebra kung-fu
— Have a personal project to aim your efforts. For me, it was understanding precisely how nuclear weapons work (so I have to run many geometrical and hydrodynamic calculations). For you it might be something else.
— If you stuck with some textbook, grab another one, you will be able to return later with the new knowledge. Physics is fractal.
Best of luck!
Learning physics can be tough at times if you're doing it alone as it's common to get stuck on a hard problem and need to talk it through with someone else. If you ever want to discuss any problems feel free to reach out to me (see the contact page on my website).
I would suggest S Chandrashekhar's Principia For the Common Reader.
The Landau books are good but assume probably more math than typical college text in mechanics, em, qm, etc.
Probably a bit down the road for you if following typical curriculums (perhaps not others) the MIT 80X series by Zwiebach were good.
After dealing with the more technical side, you should read Paul Dirac’s book “the principles of quantum mechanics”
Since you probably have a good background in optimization, work through problems in:
- Taylor for Classical Mechanics or Goldstein (a bit more advanced)
- Griffiths for E/M and Quantum.
For stat. mech. I find the chemists have more intuitive textbooks.
- Introduction to Modern Statistical Mechanics by Chandler
I need some help to remember this book.
Isaac Asimov (non-fiction/essays)
All have written numerous excellent books on various physics topics, and each explains the concepts they wish to convey clearly, with as much or as little mathematics as you like.
Before I went to university to read physics, I devoured their (and others) popular science books, and had a pretty good understanding of the majority of the material on my degree course before I started it - the degree filled in the blanks, annealed the maths in my mind - but there’s little as good as a book written by an expert on a topic to imbue knowledge.
That said, if you are going to read pop science books, I don't think Michio Kaku is a good choice. He is much too prone to treat way-out speculations as though they were established physics.
It take more than a few months to learn.
Still, you can decide if you want more Mathematics, more Theory or less. (Probably the CS Maths should get you covered pretty well for the start) I'd do a research on popular recommendations of books and then see which ones you like and interest - the styles and contents are often so different. While going through the books you can try to find nice YouTube videos and other stuff.
Of course you get a deeper understanding when doing some exercises, although this can be tough. I'd highly recommend finding a book that has a solution section/solution book or maybe some online course that offers that. The exercises for Experimental Physics are usually not long but can be surprising. ;) Also it might be surprising that depending on your interest a strong foundation in Mathematics is not critical, although you'll still need to wrap your head around the common math problems.
One motivating thing is that while you go through the topics (Mechanics, Electrodynamics, Wave theory, QM, ...) the frameworks and approaches are somewhat repetitive and just get more sophisticated over time.
TL;DR: pick a curriculum and combine it with your favorite material
1. Newtonian Mechanics by A.P. French (https://archive.org/details/NewtonianMechanics/mode/2up). This will give you a good foundation for what is to come.
2. Spacetime Physics by Taylor & Wheeler --- first edition if you can find it! It is much, much better than the second! Special relativity is conceptually strange, but mathematically pretty easy, so you can jump right into it after learning Newtonian mechanics. Have a little fun!
3. Electricity & Magnetism by Purcell. This book is a little unusual in that it derives magnetism from the laws of special relativity. This is the more natural approach than just asserting the laws of magnetism since magnetism is fundamentally a relativistic phenomenon.
4. Waves by Crawford. (https://archive.org/details/Waves_371/mode/2up) A bit hard to find in print, but a really excellent textbook. Waves are a fascinating topic because they come up in every area of physics, so a course focused around them has a huge number of applications.
5. Introduction to Quantum Mechanics by Griffiths. The best introduction to the topic you will find!
6. Thermal Physics by Kittel & Kroemer. I haven't actually found an introductory book on statistical physics that I'm crazy about, but this one isn't too bad.
That should last you some time. But once you're through with those and are looking for more, then here are some advanced topics:
7. Analytical Mechanics by Hand & Finch. This will teach you advanced Newtonian mechanics --- in particular Lagrangian and Hamiltonian dynamics. There is a chapter on chaotic dynamics towards the end, too. Another option here is Classical Mechanics by Goldstein.
8. Introduction to Electrodynamics by Griffiths. More advanced E&M than Purcell. If you want to go further, then there's always Classical Electrodynamics by Jackson.
9. Principles of Quantum Mechanics by Shankar. This spends more time on the mathematical foundations of QM than Griffiths does and goes into the path integral formalism and touches on relativistic QM towards the end of the book.
10. A First Course in General Relativity by Schutz. There are arbitrarily advanced texts on GR, but I'd recommend starting off with something friendly like Schutz.
11. An Introduction to Elementary Particles by Griffiths. Not super advanced mathematically, but it's a good thing to read over to prepare you for more advanced QFT texts. The first chapter is especially good as a history of the development of particle physics.
12. Quantum Field Theory in a Nutshell by Zee.
13. Modern Classical Physics by Thorne & Blandford. This is a tour de force. It's an enormous book but it really touches on everything that is left out by the above books. It covers optics, fluid dynamics, statistical physics, plasma physics, and more. (I'm currently reading through it and have only gotten through 6 chapters, but it's really an incredible textbook.)
14. Statistical Mechanics: Entropy, Order Parameters, and Complexity by Sethna. This is a really fun book, but almost all the material is in the problems.
Finally, and most importantly --- remember that physics is not a spectator sport! You must do problems. A lot of them --- and hard ones, too!
The tl;dr; seems to be get "University Physics with Modern Physics" and go from there?
Most of the top scientists I can name were very failed humans in other ways. If you demand absolute totalitarian compliance with modern ethical dogma you will not find many people, I'm afraid.
Feynman was also obviously socially very insecure given his double jeopardy background (blue collar parents and a jew). Rampant antisemitism was very much a thing in Feynmans day. I think this affected his obvious need to pose as the cool rebel and the alpha intellectual. But he was also ruthlessly honest. And loved physics and loved explaining things.
Please remember him for the things he loved. Not for his failures.
BUT I can stand behind recommending Susskind!