I agree with Tim. In the end your undergrad is meant to give you the fundamentals so that you can further specialize later in your career, whether that's through grad school or work experience.
I majored in Physics in my undergrad but as I went through it I found myself more and more drawn towards programming and Computer Science. I ended taking some CS courses and working part time as a programmer so by the time I finished my Physics undergrad I knew I was more interested in pursuing CS. Upon graduation I joined Microsoft as a Software Engineer. I was doing well but for the first couple of years I felt like I was missing some CS fundamentals, so I went back and did a CS masters part time. I found this to be a great way of filling in some gaps and definitely helped with my progression as a Software Engineer. I later moved Microsoft Research, transitioned to Machine Learning and now I do a mix of software and ML at Facebook.
My wife was with me in the Physics program. But after college she took a different path and did a PhD in Bioengineering. Her thesis was on cardiac muscle and she worked in that industry for a while. A few years down the road she joined a company doing cancer research.
The point is it's very hard to tell exactly what you'll be doing later in your career, and there's many ways to do course corrections and learn new things as you go along. Also remember that coursework is just part of the equation. For instance, you can continue your Physics coursework but do as much programming as possible, either on your own or as part of your Physics classes to get some experience.
Hope this helps, and remember to enjoy our time in school!