I would make a strong case for numerical methods as well (putting statistics to work on the computer).
Additionally a lot of stuff people use in machine learning today had its start in solving physics or communications problems numerically. Stuff like maximum likelihood detection, gradient descent, etc...
I also believe that implementing code to solve physical problems really can deepen ones understanding of physics. Once you have something you can really play with it and see where things break etc...