<p>
</p>
<p>Note that this also tells you what the key CS courses are:</p>
<p>Programming: introductory CS sequence, algorithms and complexity, exposure to several types of programming languages (may be assumed in the introductory CS sequence, or given in a programming languages course), software engineering course or other course with large software project
Databases: database course
Networks: networks course
Operating systems: operating systems course</p>
<p>Another thing not mentioned here is security and cryptography, which appears to be neglected by many, as evidenced by all of the security advisories and patches in common software that come out frequently. Knowledge in that can put you ahead of most in that area.</p>
<p>Note that computer gaming and other popular specialties all need the above, so the CS electives for those specialties (graphics, artificial intelligence, etc.) should be considered as possible courses beyond the above courses.</p>