Ditto that. I’m a mechanical engineer, for crissake (albeit one with a couple of data structures and a numerical methods class under my belt.) In the real world, where one of my apparent skills is to hop disciplines, I’ve had to pick up C/C++, Java, Perl, Python, a couple of tongues of Lisp, Prolog, and Ada on my own. I did have a class in basic Fortran 77 waybackwhen, but I can’t say that it really helped me much, or was even all that useful in the Fortran hacking that I’ve had to do on legacy code. If you’re going to a US$33k/year school–presumably one of those Tier 1 schools with a highly reputed CS department–then yes, it is expected of you (as it will be out in the commercial world) to pick up applications and languages on your own, while the professor spends his valuable time teaching concepts rather than showing you how to output “Hello World!” in n different languages. You’re supposed to be learning computer science, not computer programming.
The same is true for applications in other engineering disciplines. You need to perform controls analysis? Your prof isn’t going to sit down with you and teach you Matlab or Scilab. Want or requred to use Mathematica to format your lab reports? You’d best buy or borrow The Mathematica Book and figure it out for yourself. In my controls lab, we were expected to read, debug, and correct poorly written QuickBasic code and Relay Ladder Logic instructions with minimal references and no guidence, and as assinine as that type of thing might seem to you now, this is what you’re going to have to do when you’re taking pay. He may be a jackass, but he’s also doing you the favor of teaching you that you can and will have to learn things for yourself.
Just wait until grad school, should you opt to go that route. Nobody is going to sit and teach you anything; you’re just expected to research all the gaps of what your instructor leaves out. If you can’t hack that, then yes, you need to find something other than a technical major.
But a widely used (and abused) mess, and far better than Java. I avoid it whenever possible–and thankfully, in the current job, virtually none of the code is written in C+±-but you can’t be a serious [del]hacker[/del] programmer/computer scientist without knowing it.
Stranger