Man, do I feel old. Back in undergraduate school, we were taught to learn programming (FORTRAN) through physics, not the other way around. The idea that the process could be turned around really hammers home how much things have changed due to the access to computers at a young age that most kids have nowadays.
Eh, I think the approach we (as in, that's how I learned programming, too) learned with is the correct one, really. Computational physics is less about programming and more about the constant tension between the demands of efficiency and accuracy and the inherent imperfections of the methods (e.g. difference models) and underlying machine representation of numbers. Physics isn't just about punching numbers into a com…
It's no different to practical work – you start off by focusing on the concepts, not worrying about budgeting and time constraints, even though those things are important in the real world too.
In our undergrad course we used C and it was completely the wrong tool for the job. No one learned more about numerical challenges than they could've with Python, and fighting with semicolons just puts people off.