This is probably the most useful book I have read during my studies in physics and I highly recommend it to everybody with some technical interest because it focuses on teaching general and useful tools (using science and engineering examples (mainly physics)).
During the first years of my studies I did reasonably well, but it always felt like I was just manipulating symbols on paper, and the results didn't mean much to me -- it was all just theory (and if the results would have come out some other way I probably would have believed that too). This book taught me how to be reckless and throw away unnecessary complexity in order to make said theory simple enough to apply it easily to real-world problems, which suddenly made my theory knowledge much, much more useful (previously it was mainly good for passing exams). Now, during my PhD I still use the methods from the book almost daily!
Compared to the earlier book draft  that has been floating on the web for many years, the final book is much improved, mainly because it focuses on general tools rather than specific physics topics. However, if you want to have a quick demonstration of how powerful the methods from the book are, I'd recommend to read chapter 9.3 about waves in , which unfortunately only partially made it into the final book. Within a few pages you quickly derive all the properties of waves in different regimes and draw practical conclusions such as the speed limit for boats, the speed of tsunamis, why bugs walking on water don't generate waves, etc!
“There are exactly 3 things an applied mathematician can do to solve a problem. The first is to Taylor expand something. I don’t know what the other two are.”
So few people even try to solve problems exactly now that it seems like magic when someone does it. I can recall once instance where a colleague seemed awestruck that I solved Bernoulli's differential equation exactly when I noticed that a problem we were working on could be expressed that way: https://en.wikipedia.org/wiki/Bernoulli_differential_equatio...
If you do take this approach, I'd advise against explaining how you solved the problem. My colleague was not impressed that I looked up how to solve the problem, and thought what I did was "only" a trick. But there are many tricks for solving differential equations. Knowing which trick to pull out is part of my job as far as I'm concerned.
On that note, I'd recommend this website and the related books for finding exact solutions or useful changes of variables: http://eqworld.ipmnet.ru/
Transformation to a linear differential equation
I mostly want to push back against the idea that non-linear means unsolvable. My example transformed the problem to a linear one, but that's not the only possibility. Look at my other link for many other examples. Autonomous ordinary differential equations are one possible class of ODEs which don't need to be transformed to a linear system to be solved: https://en.wikipedia.org/wiki/Autonomous_differential_equati...
You can often solve a non-linear autonomous ODE by direct integration.
One of the things I found most interesting from the class that you couldn't get from the book was a particular method of assessment. He would pose a question, and allow you to give a weighted answer across a few options, to better understand your uncertainty. It was a very useful pedagogical technique, and allowed me to quantify my understanding in a very tangible way.
I highly recommend the whole book, but especially the first section, on breaking things down.
Most people seem to think dimensional analysis is limited to checking that the dimensions are consistent ("dimensional homogeneity"). But dimensional homogeneity is a constraint which can simplify problems, sometimes even allowing them to be solved up to a constant. The latter often requires additional reasoning to determine which variables are relevant and which are not. Kolmogorov famously made use of this approach to obtain his "5/3" law in turbulence: https://micromath.wordpress.com/2008/04/04/kolmogorovs-53-la...
The details of dimensional analysis seem only to be taught to engineers taking fluid dynamics or heat transfer classes. I understand why: the Navier-Stokes equations for fluid motion typically can't be solved in practice (for the most part), but we usually know which quantities are involved because they appear in the Navier-Stokes equations. Then it's useful to use that as a basis for analysis. In other areas, you can usually solve the equations, so dimensional analysis may not be necessary. Add on top of that the use of physical models (not mathematical or computational models), which may be scale models like a small scale airplane in a wind tunnel. Dimensional analysis provides a basis for scaling.
I'd recommend reading the relevant chapter of the book if you're interested. Dimensional analysis is most useful for physical problems, but you sometimes can generalize the idea of a "dimension" such that two things have different dimensions when it does not make sense to add them.
The MIT course website lists Mahajan and Abeyaratne as the instructors, but not clear if one, both, or neither are the authors.