See above.Quote from cmaxb:
Probably Java these days. Though if I were doing a career in CS, I'd learn assembler and work up from there.
Imo, Java is a terrible language to learn to program. Northing surpases Lisp imo in learning the correct abstractions. You learn to program in Lisp correctly and you will master all forms simultaneously (procedural, functional, OO, etc etc). Then you go pick up the syntax and style (idiom) of any language you want on your own.
Assembler and C should be a mandatory as well. Remember, this is CS 101. There is way more to learn than just a language and data structures (CS 102). There is networking and networking protocols (CS 103), etc, which almost certainly requires knowledge of C.
nitro
)