<p>The difference between the two programs vary from school to school. In order to tell which is better fit your interest, you have to compare the CS, CpE and EE programs at each particular school that you are going to apply. At some schools the CpE balances out both CS and EE, so you end up taking almost all CS core and all EE core (related to computer and basic electronics), whereas some schools seem to be more either CS-oriented or EE-oriented. Also, many schools do not allow double major in CS / EE if you are already a CpE.</p>
<p>In general, if you can’t decide what you want to do in the future, but you have a strong interest in both software and hardware, I think you won’t go wrong with a CpE as an undergrad, provided that the CpE program really give you (somewhat) equal opportunity to CS and EE courses. </p>
<p>Software job? CS / CpE will be fine. What you need to do is to DO things outside your classroom. Down the road you will learn more about the field, and I have to tell you as a junior I am amazed by the cool stuff I am learning just by searching on Google, or attending a tech talk. Whether we will get involve or not, that’s another story. </p>
<p>Last but not the least, please look at the faculty research at each school. You don’t want to end up going to a school where you can hardly find a lab that you want to join because they are interesting to you, or going to a school that is too far away from working crowd because one way to apply knowledge is through working (internship, research). Just two cents.</p>