

Future proofing CS knowledge - dwong

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?
======
wh-uws
Actually learn computer science.

I wish someone would have told me this before I started school but Computer
Science and programming/ Software Engineering...

 _are not the same thing_

Pay attention in your data structures and algorithms classes, ask questions of
your professors and TAs, and most importantly work on as many of the problems
as you can.

Those things are important because they help you understand and decipher about
why programs and languages work the way they do. And the trade offs you make
in designing them.

If you do you'll be able to pick up any language that is thrown at you because
you'll understand the underlying concepts.

------
tobylane
I don't think logic (including syntax and grammar) will get outdated, I'm not
trying hard but the maths and logic from the Greeks has lasted longer than
their theories on matter, gods and treatment. The trends will be slow enough
for even those rarely active to keep up (triply so in enterprise).

------
dwong
Thanks for the responses. Yeah, I was thinking that it was very important to
actually learn the "computer science" part and not just the programming part.

------
adityar
In addition to what's been said, design patterns will serve you well for a
long time.

