<p>Some additional thoughts…</p>
<p>CS and Sw.Eng. are almost certainly a better bet than Bio.Eng. for the short- to mid-term (next 10 years); although Bio.Eng. are growing fast, there aren’t many jobs today, so there won’t be many for a while. Sw.Eng. is growing very fast, though, and the number of Sw.Eng. jobs is huge compared to other engineering fields. I’m not sure where you might be getting that EE is a good bet, based on job projections; do what you love, but if you love being in a large, fast-moving and fast-growing field, EE is not the optimal choice, according to objective data.</p>
<p>CS and Sw.Eng. are still young fields, academically speaking. Given more time, they should be expected to separate as other sciences have separated from other engineering disciplines. Right now, there is not a lot of difference between Sw.Eng. and CS education; CS is not taught primarily as a formal science and Sw.Eng. is not really a formal engineering field, either. Most CS majors end up working Sw.Eng. jobs right now, but that is mostly due to the fact that the fields haven’t really separated yet and there are so many positions that need filling in the Sw.Eng. community.</p>
<p>Computer Science and Engineering isn’t a widely available major. It’s good to keep in mind that different schools may offer different, non-standard combined/specialized programs that some students might like, but CS, Comp.Eng. and (increasingly) Sw.Eng. are the standard ones.</p>
<p>Using Java as a vehicle for teaching introductory and OO programming isn’t a good reason to avoid a program. That being said, there is wisdom in saying that you should carefully evaluate programs and look with suspicion on programs that are mostly programming with little theory, systems, mathematics, etc. courses thrown into the mix.</p>