<p>What would be the best major for specializing in computer hardware engineering? Would it be Computer Engineering, or Electrical Engineering with a VLSI focus?</p>
<p>I think that the general answer is either should suffice, but CE is probably more tailor-made for hardware stuff. If you're positive that you want to do comp stuff and mostly comp stuff only (which still includes basically any industry that involves a computer, which can be autos, etc.), then I'd definitely do CE, but if you do EE and take more CE electives, that could work too.</p>
<p>People can correct me if I'm wrong. I've done my research and I think that's the right answer, but I'm only entering college, so I'm not as experienced with this as other people are.</p>
<p>CompSci,CompEng,and EE are all interchangeable in most cases.
The are so similar some top colleges(Stanford,MIT,UCal) offer CSEE as one major. There is no CompSci,EE,or CE.</p>
<p>WRONG</p>
<p>Computer Science =/= CSE or CE or EE</p>
<p>Computer Science itself is not engineering. It it mostly comprised of classes that deal with math/algorithms/theory, with theory being the main differentiating factor in it all.</p>
<p>CSE is applied Computer Science, meaning it does not go into depth with theory, but with the application of the practical uses of CS's findings. The same goes for CE. Additionally, they tend to have more focus on hardware than those in CompSci. EE is different, but is the foundation of CSE and CE. Many CSE and CE programs take EE classes as their core foundational courses and branch out onto CSE/CE through the technical electives, enough of which will make CSE/CE a different major than EE alone.</p>
<p>Those schools you list don't offer them as one major. You should take a look at their offerings again. Some offer CSE, others, CE, some EE with CS, etc. MIT offers several different tracks which range between more focus on CS, more on EE, or more on hardware. There IS CompSci, EE, and CE/CSE. All three are different in their own, but do show some degree of overlap, most importantly, CS's practical uses in CSE/CE and EE's foundational courses in CE/CSE. You'd be hard press to find some of the in depth EE courses in a computer science curriculum.</p>
<p>CompSci yields Computer Scientists. EE/CSE/CE yields Engineers.
Engineering is a physical science which applies the work of scientists to practical applications in fixing problems, building new things, etc.</p>
<p>Stanford still offers a 1 track CSEE</p>
<p>Anyways, look at jobs recruitment.They ARE interchangeable.</p>
<p>Huh? Stanford has separate EE and CS majors.</p>
<p>And they are different majors everywhere else. And CS graduates get different jobs than EE graduates. They are not interchangeable.</p>
<p>Don't worry, I'm looking, but not finding much. Show me how a CompSci major is considered an engineering discipline in its own (without a combined EE/CS track) and I'll show you a turtle that can do real analysis and advanced partial differential equations.</p>
<p>Computer Science in an engineering discipline can be found within CSE, CE and obviously the combined EE w/CS tracks. True many recruiters accept either CSE/CE or CS people, but EE? I mean, c'mon...have you looked at what EE really entails? They can take on the role of CSE/CS if they took a good amount of technical electives in CSE/CS, but you can't go as far as to say CS, CSE, CE, and EE "ARE interchangeable".</p>
<p>Most Computer science curriculums now involve application and not only theory, so it is pretty much an engineer discipline since you are engineering software, algorithms,etc..
Computer science is engineering once you consider the software engineering part and not just the theory.</p>
<p>
[quote]
The are so similar some top colleges(Stanford,MIT,UCal) offer CSEE as one major. There is no CompSci,EE,or CE.
[/quote]
</p>
<p>Not true. At MIT, you can track into electrical science & engineering, electrical engineering & computer science, or computer science & engineering.</p>
<p>
[quote]
Computer Science itself is not engineering. It it mostly comprised of classes that deal with math/algorithms/theory, with theory being the main differentiating factor in it all.
[/quote]
</p>
<p>Also not true. CS includes not only theory but software engineering, AI & computational perception, graphics, etc. It's generally a combined science & engineering major. At some schools, it includes computer architecture and other traditionally CompE areas as well.</p>
<p>To the OP: Your best bet is CompE. If a school doesn't have CompE, look at the EE- and CS-relevant departments at that school, and the sort of classes that they offer and research that they do, and figure out which one best suits your interests.</p>
<p>Even though some CS curriculums may seem like software engineering or have a class that specifically is geared towards software engineering, it doesn't make it an engineering discipline. That's the equivalent of me saying that in my engineering curriculum, im required to take 4 courses within a certain social science to build depth, therefore, i am part of that social science major. True, you may take it's courses, but that is not enough to deem it engineering.</p>
<p>Computer Science involves programming, but usually those programming classes are programming to reach a certain end. Software engineering courses teach you the planning, development, and support stages of software, rather than just programming. It's the code monkey vs. engineer debate. You can be capable of coding, but doesn't necessarily mean you are therefore a software engineer. It involves more depth into it and that is why there is Computer Science, and CSE/CE.</p>
<p>The reason why computer science is computer science and not computer engineering is because of it's science roots. You're trained in a good amount of theory, which is why pursuing graduate level degrees in CS focuses a lot on a thesis of research regarding a theory. Computer science ultimately yields computer scientists.</p>
<p>Engineering, you are trained to analyze and solve problems. Your CE/CSE will offer a type of software engineering course that deals with planning, development, and support of the software you create. You go through stages, as opposed to just programming to an end. You apply the concepts that computer scientists come up with to solve the problems, which is what separates engineering from science; it's applied science, a physical science.</p>
<p>Computer Science is not a combined science & engineering major. EE with CS, or CE, or CSE (or one of the tracks that MIT provides which is a great example) is the more true combined science and engineering; you're majoring in engineering as well as computer science (you don't see many CS majors required to take engineering courses such as signals and systems, logic design, electric circuits, etc.) It's also true that you don't require those courses to be a software engineering but my defense stands since that shows a line between science and applied science. CE/CSE are engineering, CS is a science. There's overlap, but that doesn't make any one of them synonymous with the rest. This is why there are separate engineering schools from where the CS resides in (usually in the arts & sciences college) since engineering schools usually seek ABET accreditation which is separate from science accreditation.</p>
<p>Also, please don't take this post as a science vs. engineering debate. It's more of differentiating between the two. Engineers depend on scientists to discover and develop the ideas that they apply. Likewise, scientists depend on engineers to actually apply their concepts. It's like the experimenter vs. scientist debate too. The experimenter in a laboratory is supposed to just perform the experiment and note the data. They aren't supposed to analyze it and do calculations. That's the job of the scientist, which is what you are often times trained for in science labs; you are in the labs to note the data and observations, then outside the lab is where you do the calculations and analyze your results.</p>
<p>The case of science vs engineering is different with computer science vs software engineering.
Regular scientist can't be hired for an engineering job but an cs guy can be hired for an software engineering job.</p>
<p>CS guys don't just create new algorithms then sit back and let software engineers apply it. Just because CS focuses a lot on theory doesn't mean an CS guy can't do application.</p>
<p>thanks for all the replies! I actaully got into the EE department but always wanted to do software (I didnt get into CSE)...so i'll have to take the embedded software route and learn as much about programming as I can. Besides, EE should be fun, so I don't have any big regrets.</p>
<p>But you still aren't seeing the line between calling yourself a programmer vs an engineer. An engineer in most cases is someone who has an engineering degree. A CS major does not graduate with such and is usually cut back to the realm of Computer Scientist, or if they have not progressed into higher level studies enough, simply a programmer or CS major.</p>
<p>There's reasons why an electrician cannot go around calling himself an electrical engineer, or a mechanic calling themselves a mechanical engineer. What separates them is the foundation in engineering, where you know what is behind it, and you follow a structured way in approaching the problem. You can't go as far as to say that a person, even if they've been programming since the age of 10 and knows a handful of languages as well as wrote a bunch of neat programs to call themself a software engineer. They may be "engineering" something, but the verb doesn't implicate the noun in the sense we are arguing about. Engineer is a title, one given to those with an engineering license, a BS in engineering being the first professional license for an engineer. A CS is neither a BS in engineering, nor an engineering discipline in itself, which is what i am trying to argue about.</p>
<p>A good comparison is published on the web by UC Irvine, Software</a> Engineering Vs. Programming. Programmer vs. engineer and their duties. An engineer's duties includes those of a programmer, but more and in a structured manner. There are even laws against calling yourself an engineer without an engineering license, which consequently shows how the title engineer isn't just handed out to anyone who thinks they can perform some of the duties. You can't call a healer an MD, even though they're supposedly healing people. Overlap is overlap, it doesn't mean one thing is another. A square is a rectangle, but a rectangle isn't a square. It can go one way, but not the other; you can switch them in some cases, but doesn't imply that one is just the other.</p>
<p>astor: Look, I am in the field. I am studying it and I am working in it. And I maintain that it is a hybrid. If I design, say, AI systems, or techniques for creating AI systems, I am engaging in engineering. I am applying scientific knowledge (e.g. cog sci, probability theory, complexity theory, graph theory) in order to design and implement a system or process. That is what engineering <em>is</em>. If I am doing experiments and analyzing the results (like I've been doing today at work), or I am doing cog sci research, or studying the structural properties of software systems (like I'm doing for a class), then I am doing science. There is no reason that one can't do both.</p>
<p>My current program seems to recognize this, as the CS department is jointly in the jurisdiction of the School of Engineering and the School of Arts and Sciences.</p>
<p>An engineer is someone who practices engineering. I practice engineering. I am an engineer (and also a scientist). I am not allowed to offer Engineering services directly to the public, because that's regulated by law, and limited to licensed Professional Engineers. But it is my job title (and while I don't think the software engineering vs. programming UC-Irvine slide is that great, yes, I am an engineer according to that too).</p>
<p>My point exactly jessiehl, your an living example of what I was saying.
Computer scientist technically are engineers.</p>
<p>astor - You are not correct.</p>
<p>CS, CSE, CE: all of these majors will work in software engineering with title "software engineer". </p>
<p>VLSI is EE.</p>
<p>you don't need a engineering degree to be titled a engineer, my uncle is a network engineer at At&t and has been for 30 years, and he never graduated from hs.</p>
<p>My school considers CS a form of engineering and we even have a cse class that deals with this topic which the same type of class has been popping up around schools worldwide. A professor at my school William J Rapport , started this william</a> rapaport on philosophy of cs - Google Search</p>
<p>U take CS to be harder and more in depth than engineering, personally design/creation is a lot harder than application. Its the same reason why math and physics, chemistry are all harder disciplines than engineering.</p>
<p>I take CS to be harder and more in depth than engineering, personally design/creation is a lot harder than application. Its the same reason why math and physics, chemistry are all harder disciplines than engineering.</p>
<p>I know that I was taught in my undergrad cs,
Section A:
how to program
how to design
how to plan
how to manage people
how to manage computers
how to manage cost and finance of projects
how to manage quality
how to deal with managers
How to apply what I learned
How to make and implement what I learned
How to properly solve difficult problems
How to deal with EE, I was given the basics, so I can communicate with any EE or CSE person.
Ive take both Physics and EE classes
I can speak 2 languages
I can program is about 25 of them.
Ive designed my own Programming language and created a C compiler.
Ive created my own OS that can run on over 30 computers worldwide distributively.</p>
<p>Section B:
hey but I can also analyze algorithms and do theory of computation.</p>
<p>My CS degree was in the majority if what I listed in section A. All things that are in line with Engineering. I spent 2 classes of 135 credits doing theoretical CS.</p>
<p>But im still all theory I guess, but I can also put the theory to use and know how to it the fastest and the cheapest.</p>
<p>Excuse me but math, physics, CS and chemistry majors being harder than engineering is just not a correct statement. Just because you studied CS does not make it the hardest major. Each major I believe has its strong points and you shouldn't be making statements like that just so you can boost your own ego.</p>
<p>The argument is whether software engineering is considered an engineering discipline. Like I said, performing an action doesn't inherently make it a discipline of the field. You are in the field, as you say, so I'd venture a guess that you're familiar with IEEE (deal with a lot of technology standards like 802.11, for example). Even they have a published document (Welcome</a> to IEEE Xplore 2.0: Prospects for an engineering discipline of software) which is authored by Carnegie Mellon Department of Computer Science in which it says that software engineering is not an engineering discipline, or at least not yet. Although a bit old, it is evidence that is outside of circular logic (I am in the field, i know someone with the title who dropped out of hs...blah blah blah...therefore, that is my evidence type of circular logic). They are a respectable organization and I wouldn't pass it by them that they do not know what they release to the public without some peer review or such.</p>
<p>Anyways, this all started when someone said CS/CSE/CE are all the same, which is not the case. That's just silly. If an engineering firm is looking for computer engineers or computer systems engineers to apply their specialized knowledge in physics/math/engineering concepts to fix problems, I find that hard for a CS major to do since they didn't take engineering courses that deal with principles such as signals and systems and those other ones I listed earlier. The point is, because that is a case, that makes CS/CSE/CE not interchangeable. They overlap, it doesn't mean you can switch back and fourth freely. The definition of interchangeable is freely substitutable, in which it is not, since conditions exist which may limit their 'interchangeability'.</p>
<p>Heck, theres even the term social engineering. They're performing the act of engineering, although in a different sense than most engineering would be considered, but that doesn't make them a discipline of engineering. Kind of like how chiropractors who received their degree as Doctor of Chiropractic are a health profession who attempt to treat people are not a discipline of medicine. They may see themselves as applying concepts in a similar fashion as medical doctors in attempting to treat people, but that doesn't make them medical doctors, it just isn't a discipline of medicine like internal medicine, pediatric medicine, podiatric medicine, etc. The action doesn't inherently make it a discipline.</p>
<p>Who determines whether something is a discipline or not? That's up the the accreditation boards and other organizations like that. Without them, random people can give themselves random titles and just claim to be a discipline of anything. Disciplines of certain subject areas are usually overseen by organizations in order to uphold the integrity of the field.</p>