First of all learn C and build up your programming skills. Practicing programming in C is best for improving your algorithm and data structure creation and usage skills. When you are doing that, dont just keep on writing simple limited logic programs like an computer address or some thing else thats supposed to teach you the language syntax or facilities. You can learn these specifics of a lanugage anytime, but this is the time for establishing the fundamentals properly. If your fundamentals are strong, you can program in any language with ease.
Try to solve math problems through programs. Learn how to use algorithms and data structures effectively.
Dont just learn how to print Hello World in every programming language ever created. Its not good enough. For the time being, Just concentrate on C.
After you master C, you can learn OOP using C++,Java or any other language.
I have myself interviewed (telephonic) potential candidates for Job openings in our company and I can tell you that I for one do not care whether you can program in Java, C or C++ when one is not strong in their programming fundamentals. Whats the use of learning every little langauge facility when you cannot use that knowledge to solve a problem on your own. So concentrate on that first.
hammerhead said:
Matlab. Its a little unconventional but very very handy.
Matlab is a tool designed to be helpful for some one who is into high level research or analysis task and cannot be bothered to handle every small detail through programming. Basically its a tool to be used by people who already know how to do the task even without Matlab. For ex: you are asked to apply Fast Fourier Transform on some data, a person who does not even understand FFT can simply use the FFT function in Matlab to get the result. But what did he learn in the process? On the otherhand, a person who is working on something big may need to use FFT multiple times in his work, he understands what FFT is, but cannot spend time to write the entire algo for it will just use the FFT function. This is not the best platfrom to start learning fundamentals.