I'm a 3rd year CS major at Drexel University (a good school for CS or Engineering). I don't know how other schools run their CS majors, so I'll give you a little advice.
1. Be good at math. At Drexel, CS used to be part of the Math department until last year or so. So we do a large amount of math courses, so far I've taken Calc I-IV and Linear Algebra. I still have to take Stat I-III and Discrete Math. One or two more math courses and I would get a minor in Math along with my BS in CS. In fact, there is a CS "track" that ends up giving us a Minor in math, but I'm not taking it.
2. Drink a lot of caffine. While our first few CS classes were pretty easy, the newer ones have assignments that take a long time. Currently we're building an interpreter for a non-trivial computer language.
3. It's helpful to have know at least one language pretty well. More specifically an object oriented language like C++. A lot of work you'll do revolves around object oriented design, so it's helpful to be familiar with it.
4. Don't concern yourself with knowing a large amount of languages. Any CS major can pick up a book on a language and learn the basic syntax it in a few days. What you need to focus on is problem solving, and learning the underlying concepts behind programming. i.e. I know how Perl and many of the things involved in how Perl works, so I can pick up PHP in an hour. Or "I need to minimized memory usage for this task, regardless of programming language, what's the best way to do this?"
5. Don't be scared. A lot of the stuff we do sounds incredibly difficult when we first hear about it. But by the end, it really isn't that hard. Time consuming, yes, but not really difficult. I'm currently taking a class in system architecture and we were learning MIPS assembly, it looked so confusing anf incredibly hard at first glance that I almost freaked out. In actuallity it's not that hard at all, and now I can probably pick up how to code in assembly for x86 or PowerPC processors in a couple days.