I started off as a computer science major in undergrad and took one class in C++ (none of which I remember). I was pretty good at it (think I got an A). But when it came time to take the next class I didn't want to and ended up switching my major. I took AP courses in high school dealing with programming and I thought it was much more fun and interesting. However, the quality of the teacher is going to have an effect on the class.(just as with any class).
Anyways, the reason I changed was because I was not interested in theory and I just wanted to do cool things with the computer and didn't have the patience to wait. I suggest taking other classes dealing with computers if available to hold you over.
Also, If you really like programming try to learn ahead of the class in whatever language you are learning. Not only will you get a great grade but you will probably learn things twice as fast teaching yourself than a professor trying to teach you along with 20 other students.
Sorry for the rant but just things I learned as a freshman. Good luck