Well, I'm a computer science & mathematics double major... I used C a lot in courses that used Matlab and/or Mathematica. If you ever go into embedded systems, C is the way to go. I did a few things with Java in Mathematica (via J-Link), the Lego robotics kits, and a few projects here and there. I had a class over the summer in which the ongoing project was a stock market analysis program (pattern recognition, etc) written entirely in C++. All the really arithmetically intensive stuff (matrix and vector transforms, like discrete wavelet/cosine/fourier) is usually done in ASM, or at lease in-line ASM.
So basically, every language has its use... As for which ones to learn and when, it's really up to you, but here's the path I took:
1. Basic (never actually learned it, it was just better than psuedo-code)
2. Java, including Object Oriented Programming concepts and data structures
3. C, basics + some memory management and basic data structures.
4. C++, including OOP concepts (super easy since Java syntax is similar, I learned C, plus I already knew all the OOP concepts).
5. more C, more data structures in C
6. *some* ASM (which implies some basic data structures)
^^ And that's where I'm at right now... I've been getting A's with flying colors in my classes. Obviously, since this worked for me, I'd recommend something like it for you
If you want to learn C# instead of Java, that could work too. Really, if you learn one, the other is REALLY easy to pick up. I've never had any reason to program in C#, but I can look at C# code and fully understand it without any issue. The most I'd have to do is look up what a couple methods are, that's about it. One good thing that Java has over C#, though, is that Java is more academically friendly.
Generally, I'd say I'm learning in a "top-down" fashion - meaning I've started with really high level languages (Basic, Java, etc), then slowly worked my way to lower level languages (C, ASM). This works for me because I started out with an abstract understanding of programming, then later filled in the gaps. I just think it flowed pretty well, but your brain might think differently.
Hope this helps!