One thing worth noting if you come from a programming background: the Python in the early chapters will feel basic, but the real payoff is in the exercises. The later chapters on PDEs and Monte Carlo have some genuinely meaty problems. The Laplace equation solver via relaxation methods is one of those exercises where you feel the underlying physics in a way pure analytic work doesnt give you.
The Numerical Recipes recommendation above is solid if you want more rigorous algorithm coverage. Alot of computational physicists are now moving toward JAX or Julia, where differentiable simulations are essentially free and hot loops can be JIT compiled. But for building foundations and physical intuition, a course structured like this is hard to beat.
It definitely targets physics undergrads who have never programmed so if that's not you then you may feel friction during some chapters. If, like me, you are much more developed in programming than physics you might just want to do the exercises in the first few chapters to check your knowledge and move on to the good bits.
If you're looking for something more rigorous I would bet [Numerical Recipes](https://numerical.recipes/) is better (I haven't read it but I want to; see "busy").
Click on a chapter to download:
Chapter 2: Python programming for physicists
Chapter 3: Graphics and visualization
Chapter 4: Accuracy and speed
Chapter 5: Integrals and derivatives
Chapter 6: Solution of linear and nonlinear equations
Chapter 7: Fourier transforms
Chapter 8: Ordinary differential equations
Chapter 9: Partial differential equations
Chapter 10: Random processes and Monte Carlo methods
Chapter 11: Data science