<p>I have a question regarding the two majors. I live in Virginia so I'm wondering which would be a better choice by from which state I live in. I plan to attend a college in-state. Uva, Tech, William and marry, etc... I do want to go to MIT but that is a long shot. I am wondering if it would be better to major in Computer science or Computer Engineering. Which one would be better in the long run?</p>
<p>Computer Engineering has more of a focus on hardware design than Computer Science which is more software and algorithm-oriented.</p>
<p>Adding on to what xraymancs said - as far as general software positions go, you’ll be fine with either one; a lot of the core courses are shared, anyways. It really just comes down to which one you prefer.</p>
<p>You can check the Bureau of Labor Dtatistics Occupational Outlook Handbook, A-Z index, Computer Software Engineers and Engineers for lots of good information. I believe the ACM publishes curriculum recommendations and guidelines for both, as well… those can help you understand differences in the “body of knowledge”.</p>
<p>They are similar and can lead to similar careers, and the other posts are accurate in highlighting major differences. If you believe there’s a chance you might want to get into hardware, CmpE is the better choice. If you strongly suspect computer architecture is going to be your thing, CmpE also has the edge. If you are pretty sure software and algorithms is going to be what you want to focus on, CS is probably a good choice. If you play your cards right, you can take enough courses to essentially do both, whether your school recognizes such formally (minor, dual/double major, etc.) or not.</p>
<p>To excel in either field, don’t let your undergraduate coursework define you. Get involved in extracurriculars (work experience, research, projects, open source, etc.) in what you find interesting. Do that, and you’ll do fine with either background, in anything someone from either background could do well at.</p>
<p>At VT and UVA you can chose between CS and Computer Engineering but at W&M they only have CS. You will have to check the specific requirements at VT versus UVA but I believe the VT CS degree is considerably more math-intensive than the one at UVA.</p>