For someone who has the motivation to learn programming on their own, I seriously question the value of a formal education in anything like CS or math. You already know you can learn that stuff more easily outside of a classroom, so I would argue that taking that academic path is a waste of both your time and money.
Instead, I would consider studying something totally different. Programming is a wild card - you can play it to improve any hand you have. Keep honing those skills, but go to university for something you can't so easily learn on your own.
This is the advice I wish someone had given me before I went and wasted time in college.