Even though I've commented on this topic over a million times, I can't help it! I have to reply!

have to say that my opinion still hasn't changed. I hate it as much, if not more than the first day of my freshmen year. Now only having one semester left for my bachelors and two minors, I can say that it has been a very torturing experience. I know that sounds a little bitter, but it's how I feel. The only reason why I stayed with it is because I know it's a degree that helps programmers. Currently, I'm a free lance web developer that deals with a lot of web languages, and I have to adapt to many application servers running different languages. After taking all my required computer science courses, and then some, only a small amount of the knowledge helps. A lot of the classes don't even apply, e.g. physics/chemistry/biology/calculus/philosophy.
Everything I learned to become a web developer I did myself. The word "HTML" was never uttered in any of my classes. No PHP, ASP, MySQL, SQL Server. Hell, only two of my classes had computers inside. In the rest, a computer wasn't even mentioned! All computer science classes that I expected to be practical or hands-on experience were in fact all theory. For example, my database class, consisted of just set theory. We learned normalizing using boolean logic and set theory symbols rather than the traditional E/R diagrams drawn in the real work place. I'm not saying that set theory is never used in the real world, but E/R diagrams are more mainstream and easier to grasp.
The math, depending on your skill, can get nasty. Most of the math is divided into calculus and logic. If you're going into it, I suggest you be fresh in those.
As far as jobs, it all depends on you. You don't even need a degree from college. If your skills are good enough, and you're persistent in the job hunt, you can find one without too much hassle. A degree gives you the edge though. It can give you the interview, but might not give you the job. The good thing about it is it might give you additional benefits such as promotions or higher pay. You might know this already, but never rely on the degree itself to get you your dream job. By itself, it never does. Remember that you learn the theory in school, and the practical on your own. A college will never teach you anything practical. You learn the tricks outside in the real world.
Boring? Oh yeah. Too me anyways. But look at the bright side, you'll develop a strong threshold for boredom. I now have the ability to listen to the dullest people on earth babble on and on about themselves with a look of interest on my face. Might be handy in the work place while you're brown nosing your boss.

One of the primary reasons why I decided to minor in Psychology and Business Computer Information Systems is to make college an interesting and exciting experience. If it weren't for those two types of classes, my brain would've been fried already.
If you're interested in web programming, you will not find it in computer science. The programming that is done in the class is for examining principles of abstract data types and algorithms.
Also, don't let everything I said bum you out. You might actually get a good professor that will make the class exciting. If you do, cherish it. Hug him/her and don't let go.
One last thing. If you're selecting a skill you want to excel at, make sure it's in demand. Go to multiple job search sites (dice.com, monster.com, hotjobs.com) and see what's in demand. See how much they pay. Last thing you want to do is invest time in being an expert in something no one has a need for.