The most important thing to learn is data structures, algorithms, complexity.
The languages and techniques are not that important and change all the time.
Just go into a course where you understand what a hash table is, what is a NP problem, what is a turing machine, etc.
Understand what an operating system is, what is virtual memory, how a program is scheduled.
See how a compiler works.
Learn with a functional programming language, learn a language where you need to manage memory and pointers yourself, learn an "object oriented language".
The languages and techniques are not that important and change all the time.
Just go into a course where you understand what a hash table is, what is a NP problem, what is a turing machine, etc.
Understand what an operating system is, what is virtual memory, how a program is scheduled.
See how a compiler works.
Learn with a functional programming language, learn a language where you need to manage memory and pointers yourself, learn an "object oriented language".
This will help you all your life.