Future proofing CS knowledge
I'm a computer science student. Programming and IT change very fast, and constant learning is required to keep up.<p>However, I'm wondering about how a programmer would try to "future-proof" his CS knowledge. Is it more important to learn the math, algorithms, and logic instead of focusing primarily on languages?<p>What are the trends you guys see in computer science right now? What knowledge will still be valuable in the future, 30-50 years from now?