Is CS considered engineering?

<p>

People can put anything they want as the occupation on the tax form but most people will put a basic generic title like - Engineer, Software Engineer, Software Developer, Programmer, Analyst, Manager, etc.</p>

<p>A lot of CS majors become Software Engineers.</p>

<p>“A lot of CS majors become Software Engineers.”</p>

<p>And a lot of Political Science majors wait tables, but…
(just kidding to the PolySci people, I actually have a lot of respect for your discipline)</p>

<p>My point is that what students majoring in a subject end up doing doesn’t really define what the subject deals with.</p>

<p>Auburn are you a CS major? I would say if anything non-CS majors really can not say what CS deals with…you don’t seem to understand what we actually do in our Comp Sci classes ;).</p>

<p>For instance, Comp Graphics and Comp Vision used to be considered two distinct disciplines or areas of focus, however now a days the two seem to be forming into one bigger area of Computers (Whether you would want to consider Computer Science or Computer Engineering would be up to the admins. I suppose ;).</p>

<p>I am a CS major… so I’m not sure exactly how you are supposed to know better than me what CS is about, but perhaps we’re just having a misundestanding. Either way, you come off as a little condescending, which will probably hurt rather than help you in life.</p>

<p>Comp Graphics and Comp Vision are applications of CS theory… they do not in themselves represent meaningful core areas of CS subject matter. Nobody would claim that a course entitled “Applications of Abstract Algebra to Cryptography” would represent a meaningful core area of Mathematics, or that “Instrumentation Techniques in Solid State Physics” represents a meaningful core area of Physics.</p>

<p>Computer Science studies computation. Usually, it is beneficial for those studying CS to be exposed (liberally) to Software Engineering practice. Why? Because CS - like Pure Mathematics - does not offer as many job opportunities to graduates as SE - like any Engineering discipline.</p>

<p>For instance, many curricula in CS require courses such as: Discrete Mathematics, Algorithms, Complexity Theory, Formal Language Theory, etc. These are core areas of CS. Most CS programs also require things such as: Software Design, Operating Systems, Computer Organization, Networks, Programming Laboratories, Software Modeling, etc. It is certainly the case that one must be comfortable with some basic theory to study these subjects meaningfully, but it doesn’t work the other way: one does not need to know anything about computers to study Algorithms, Formal Languages, or Discrete Mathematics.</p>

<p>This is how it is in most engineering majors. To be an aerospace engineer, for instance, one must understand the subject of Classical Mechanics. However, knowing about mach numbers, lift coefficients, and the like is not a prerequisite to the study of Classical Mechanics. So aerospace engineering does not represent a meaningful core area of Physics. In a sense, it is an “application” of Physics. None of this is to dimish the relative importance of Aerospace engineering… just to say that it is well not to confuse a subject with its potential applications.</p>

<p>Auburn, </p>

<p>I couldn’t agree with you more. </p>

<p>I heard this quote before from Hal Abelson, MIT professor:
“Computer Science is not about computers in the same way that Physics is not about particle accelerators and Biology is not really about microscopes and petri dishes.” </p>

<p>I think it reaffirms what you stated.</p>

<p>‘The title “Engineer” is legally protected in many states, meaning that it is unlawful to use it to offer engineering services to the public unless permission is specifically granted by that state, through a Professional Engineering license, an “industrial exemption”, or certain other non-engineering titles such as “operating engineer”. Employees of state or federal agencies may also call themselves engineers if that term appears in their official job title.’</p>

<p>The above is why I don’t like applying the term engineer to just anything. It has a legal meaning. In CS we don’t need to get governmentally licensed (although proprietary certification is becoming all too common and perhaps out of control), so I don’t like to say it is part of engineering and really don’t like the term Software Engineer for this reason. Expanding on this, I would say job titles in CS and IT are pretty meaningless and many words are thrown around, Analyst this, Sr. blank Analyst that, Systems suchandsuch, Applications Programmer 3rd class, Lead Developer/Implementor, operator, technician, designer, integrator, administrator, data something, software <em>__, </em> specialist, network ___, so on and so on. It is all mix and match words and the Standard Operational Classifications or NOC codes seem very dated and naive and unsystematic.</p>

<p>Well Auburn the way you were talking I would not see you as a CS major, it seems as though you really didnt understand much about the classes CS majors seem to have to take. I suppose your CS program may be more theory based than mine?
Now by you’re argument…how is any engineer considered just that? You can technically do any engineering without getting any type of hands-on experience, now a days you can simulate just about anything (though it may not really be the best way to do things.) Many core classes don’t even require to have hands on experience…so lets take EE, it can be almost entirely theory based, if the right courses are taken.</p>

<p>I guess either way…I would consider it engineering. No point in considering these conversations…I think the OP got our view points ;).</p>

<p>“Well Auburn the way you were talking I would not see you as a CS major, it seems as though you really didnt understand much about the classes CS majors seem to have to take.”
Don’t confuse your lack of understanding of what I’m saying for my not knowing what I’m talking about. Just to be clear, I’ll say it all again:</p>

<ol>
<li>Computer Science studies computation, not computers. Computers are not necessary to study computer science.</li>
<li>Computer science (the academic discipline) and Computer Science (the college major) are not the same thing.</li>
<li>What the graduates of a program go on to be or do does <em>not</em> define what the subject, or even what the college major, is.</li>
</ol>

<p>Software Engineering, for me, is an engineering major because it deals with <em>producing</em> some application. Electrical Engineering deals with how electricity can be utilized to make things. Chemical Engineering deals with how chemistry can be sued to make things. Software engineering deals with the process of producing software. The point of CS is <em>not</em> to make anything.</p>

<p>Whatever you have to say Auburn…your arg doesnt seem to make much sense to me, however I think the OP got what he was looking for…actually much more ;).</p>

<p>Sorry I lost sight of the actual reason of the question. For the Engineering organization I’m president of we certainly would take CS majors (in fact we take just about any STEM major.) With a lot of these they are really looking for members and most STEM majors will fit into the mission of the organization.</p>

<p>If you study communications and somehow wind up being a engineer. You are a Engineer.
If yuo study engineering and somehow wind up working as a HR person at TJmax, you are not a Engineer.</p>

<p>If CS falls under a schools Engineering dept then its a engineering degree. If it falls under another dept then its not.</p>

<p>My degree said I had a B.S in CSE. No distinction made between computer science and engineering.</p>

<p>Stanford’s CS program has 3 quarters of coding (Java, C++, C, recursion, pointers, data structures, etc) + 3 quarters of theory (automata, probability, discrete math, algorithms). In this respect it’s similar to other engineering majors; for example ME has both mechanical/thermo theory and design/manufacturing labs… I don’t think there’re schools offering “pure CS” without any software engineering.</p>

<p>I know most people already know this, but just for high schoolers and freshmen…</p>

<p>“If CS falls under a schools Engineering dept then its a engineering degree. If it falls under another dept then its not.”</p>

<p>While this may not be the most satisfying answer, it’s probably the most true of actual undergraduate CS programs.</p>

<p>I see I’ve opened up a can of worms…</p>

<p>A thread like this is made here quite frequently. </p>

<p>Some schools even have classes on the question,</p>

<p>I think it’s about time for schools to start separating CS and SE. Like they separated physics from MechE and to a lesser extent EE, chemistry from ChE. I just feel like there is too much material these days to cover both theory and application in a single CS degree. The main problem I see though is that there is so much overlap between CS and SE.</p>

<p>“The main problem I see though is that there is so much overlap between CS and SE.”</p>

<p>What overlap is there? I’d be interested to hear which subjects fall under both pure CS and pure SE. Maybe you’re talking about introductory groundwork course material?</p>

<p>And is it really so much more than there is between ChemE and Chemistry?</p>

<p>I guess I should correct myself, I should have worded it differently. When viewed as pure CS and pure SE the differences are very apparent. Intro, yes, algorithms, yes, I think once that’s done SE can go their own way. Advanced theory can be introduced where needed, but should not be the main part of the curriculum. </p>

<p>I may be wrong, but judging from what I’ve seen at my school, maybe it is better to say that a lot of software engineering-oriented courses in CS programs try to cover too much of the theory. For example, I took a database course last semester. We had to read a fat textbook that was basically just relational database theory, do homework, exams and labs based on it, and at the same time build a web application from using JDBC and PostgreSQL. It ended up being too much material and the project had to be scaled down, as well as the readings. So either should be emphasized not both.</p>

<p>I don’t know if this kind of thing is common in other engineering disciplines, but at my school, most engineering courses use theory as a basis but in most cases do not expect students to get into the very very in-depth stuff.</p>