Artificial Neural Networks, Kernel Development, Networking, Cryptanalysis. My personal suggestions, if you're looking for power.
For a beginning, I suggest C, then C++, then Java (for Data Structures), then maybe ASM; I'm against learning several programming languages tho, it's really unnecessary. The thing that matters is how you can implement particular algorithms using the ones you already know.