Rom:A couple other things came to mind
These are much more of the you'll get to them than the you need them now type of thing but the sooner you learn them the better off you will be. Especially if you are going to a top school.
For Industry, and I assume you intend to work as an engineer some day, b-e are a must. Additionally if you ever expect to do digital circuit design (a) is a must.
I can tell you this from 3 decades of experience in the field. If you showed up as an intern with a solid understanding of b-e you would be golden.
a) boolean logic - you won't need this immediately but when you get into digital circuits this is critical
b) programming skills - I'm 10 years out of date w/regard to programming so I don't know what language to recommend you learn but you'll need to be solid in at least some programming language that allows you to create structures, use pointers, etc. Back in the stone age when I programmed we all used C and I bet if I was to start doing embedded programming again I would still use C. These days I guess you need to know an object oriented language and that's not a bad thing. Used properly OOP can lead to code that is very elegant and easy to extend.
There's a book we used to all have called "Design Patterns". That book should be on your bookshelf and I think there is even a follow on to it now.
c) these days the tools for helping you with algebra and calculus and graphing/graphics are just too good not to use so I would recommend getting facile with whatever software your school has available. Mathematica, Mathcad, Matlab, they should have at least one of those though there are some public domain tools out there now too. Learn one and use it. You'll save yourself enough time to maybe have a social life. (ha! just kidding everyone knows EE's have no social life!)
d) Unix build environment. Eventually for your projects you are going to be doing coding and if your school is anything like the one I went to your coding environment will be some flavor of Unix. You need to learn to use the MAKE program or it's equivalent to let you build software projects.
e) I don't know how serious a school you are going to. Some of the more serious ones give you significantly hard software projects so that you will have to use version control with a team of other students. If you think this applies to you you should have a basic idea of how to use software/document version control.
Stu:What's harder to gain a thorough understanding of while under time constraints: Calculus or Vectors in Engineering?
Rom:A couple other things came to mind
These are much more of the you'll get to them than the you need them now type of thing but the sooner you learn them the better off you will be. Especially if you are going to a top school.
For Industry, and I assume you intend to work as an engineer some day, b-e are a must. Additionally if you ever expect to do digital circuit design (a) is a must.
I can tell you this from 3 decades of experience in the field. If you showed up as an intern with a solid understanding of b-e you would be golden.
a) boolean logic - you won't need this immediately but when you get into digital circuits this is critical
b) programming skills - I'm 10 years out of date w/regard to programming so I don't know what language to recommend you learn but you'll need to be solid in at least some programming language that allows you to create structures, use pointers, etc. Back in the stone age when I programmed we all used C and I bet if I was to start doing embedded programming again I would still use C. These days I guess you need to know an object oriented language and that's not a bad thing. Used properly OOP can lead to code that is very elegant and easy to extend.
There's a book we used to all have called "Design Patterns". That book should be on your bookshelf and I think there is even a follow on to it now.
c) these days the tools for helping you with algebra and calculus and graphing/graphics are just too good not to use so I would recommend getting facile with whatever software your school has available. Mathematica, Mathcad, Matlab, they should have at least one of those though there are some public domain tools out there now too. Learn one and use it. You'll save yourself enough time to maybe have a social life. (ha! just kidding everyone knows EE's have no social life!)
d) Unix build environment. Eventually for your projects you are going to be doing coding and if your school is anything like the one I went to your coding environment will be some flavor of Unix. You need to learn to use the MAKE program or it's equivalent to let you build software projects.
e) I don't know how serious a school you are going to. Some of the more serious ones give you significantly hard software projects so that you will have to use version control with a team of other students. If you think this applies to you you should have a basic idea of how to use software/document version control.