

CS major vs CE major - matey

I'm starting college next year and am debating between majoring in Computer Science or Computer Engineering. I've seen a lot of posts regarding CS programs and their follies (I believe my university is a "Java school") and am wary of a purely software oriented major. On the other hand, I haven't heard much talk about Computer Engineering programs.<p>I am interested in both programming and electronics and want to learn more about CS, but at the same time I don't want to limit myself to a strictly "8 hours in front of the computer" type of job.<p>A CE degree seems to integrate both CS and EE, and encompass more of what I want to study, so I would like to hear the suggestions and opinions of the YC populous on both CS and CE degrees.
======
rantfoil
I did a CE degree (Computer Systems Engineering) at Stanford. To be honest, I
should have listened to my CS advisor, who said CE really doesn't give you
enough depth in either CS or EE. Four years pass fast, and invariably a CE
degree is the "no theory" or "less theory" degree. This will hurt you in the
long run if you end up choosing CS or EE as your eventual interest. Lacking a
strong algorithms / theory background, it can hurt both when interviewing
(most great programming shops place a heavy emphasis on running times and
algorithms) and when actually developing code. On the EE side, you pretty much
need a PhD or at least a MS to get one of the more interesting R&D positions.
And for applying to grad school, you'll be up to your more solidly EE brethren
who have that much more coverage of the material and connection with EE
faculty.

My suggestion: try some of both, and make a decision, and go deep.

If your college really is a 'java school' -- consider doing well your freshman
year and transferring to a school known for solid CS instruction. It'll
probably make a difference.

Good luck!

~~~
matey
Thanks, this helps a lot, I'm leaning towards CS. Does anybody else have any
advice?

------
jacintos
I am about to complete my CE degree. I chose the program because 1. my school
has a weak CS program (which is part of the business dept.) and 2. I was
already familiar with programming out of high school, so I wanted to get some
hardware experience. I have found CE to be a nice middle ground between CS and
EE, with an emphasis on engineering principles that you probably wouldn't find
in a CS program. I also learned a lot more math than I would have otherwise.
If you find your CE program lacking in theory, you can always take a few
elective courses.

As a Bachelors degree, I think CE is a great compromise between CS and EE. I
don't believe you would have any trouble pursuing a graduate degree in CS or
EE, given that choice.

