<p>What is the difference?
I have some idea, having looked at the various sections of college websites and seeing what kind of research is being done at each.</p>
<p>Also, I looked on CollegeBoard/PrinctonReview/etc. sites in their college major references. But the definitions are not that great.</p>
<p>So could someone please explain the distinction between CS and CE? Thanks :)</p>
<p>Basically, CS is mainly theoretical, dealing with algorithms, computer languages, programming, etc. CE is more hardware oriented, in that you will be designing computers rather than only writing software for them. It is easy to transition from CE to CS, but not as easy vice versa.</p>
<p>No Brow man. In many college programs, CE usually means rigorous CS with some knowledge of computer architecture. Look at some college course descriptions to see the difference.</p>
<p>yeah, that's how it is for my ce program. it has all of the core cs courses along with 6 of the core classes for ee. another big difference is that for the technical electives, ce majors can choose between cs/ee. i'm really not that sure if any specifically "ce" courses exist at my college.</p>
<p>To put it bluntly, CS basically teaches one to become a programmer. You can spend your electives in hardware areas but you really won't get the knowledge you need to get a job in hardware.</p>
<p>A CE major can become a programmer as well. But CE's generally specialize in embedded systems programming. Though they have the fundemantal knowledge to do enterprise software as well. But more importantly, CE"s gain the knowledge of how computers operate on the circuitry level. Think of an EE specializing in computers and a firm knowledge of programming. That is a CE.</p>
<p>There's quite a bit of overlap between the two. At my uni there are a few crosslisted classes between the two departments. CS has classes in computer architecture and ECE has classes in algorithms, and both have innumerable shared classes such as computer vision, cryptography, robotics/AI, etc. However, CS also extends to ideas such as creating good human-machine interfaces and linguistics and CE will extend into areas such as creating the actual transistors upon which digital systems are made.</p>
<p>"A CE major can become a programmer as well. But CE's generally specialize in embedded systems programming. Though they have the fundemantal knowledge to do enterprise software as well. But more importantly, CE"s gain the knowledge of how computers operate on the circuitry level. Think of an EE specializing in computers and a firm knowledge of programming. That is a CE."</p>
<p>I would say that JoeJoe hit the nail right on the head.</p>
<p>A programmer is not the same as a software engineer. Software engineers can do programming but usually carry much more training in math and theory and in the software engineering process than a programmer with an IS degree. In some CS programs, there are hardware requirements, perhaps three courses, where students learn how computers operate on the circuitry level. Anant Agarwal has a nice abstraction model from (I think) Maxwell's equations to application software in his online lectures and in his book.</p>