• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Computer Science v. Software/Computer Engineering

imo "software engineering" is a subset of computer science to specialize in like databases

at my university computer engineering is simply a mix between CS and EE. Its clearly tougher than CS as they have to take the core upper division CS courses, except for computer theory and compilers

Thanks for the opinion, but you must not work in industry yet. Your understanding of these degrees shows a lack of understanding of real-world engineering practices. I know that probably comes of snotty, but it's true. If that _really_ is how your school treats these degree programs then you need to find a better school.
 
imo "software engineering" is a subset of computer science to specialize in like databases

at my university computer engineering is simply a mix between CS and EE. Its clearly tougher than CS as they have to take the core upper division CS courses, except for computer theory and compilers

in my experience its the theory courses that really set CS apart from other related fields. it's also my experience that the theory courses are where most students struggle the most.

the students who do excel at theory and pursue it through a graduate degree end up doing work far different than those with advanced degrees in SE or CE.

while most professors concede that the majority of their students will end up taking up much more mundane careers, theory is in many ways the "optimal" path in Computer Science.

so i don't it's fair to cut out theory classes and still claim CE is the best of both worlds. even in a more common scenario, a CS grad with only a Bachelor who took their theory courses seriously can analyze problems in ways that can set them apart from other developers.
 
huh i was just stating how it is here
software engineering IS a subset of CS here that you can emphasis in by taking the software construction, software engineering, and senior project in software engineering

and the computer theory class was not really a tough class: finite automata, push down automata, grammars, pumping lemma, etc... tests were like convert this NFA to a DFA or make a regular expression for something, nothing i would say CE majors could not do

the big gotcha was supposed to be the infamous compilers course where you are supposed to be screw if you coasted through theory but when i took it the Prof somehow made it alot more easy than it was before

so outside of that CE must take everything else including advanced algorithms and operating systems
CS does have to take an additional 32 units of technical electives like databases and such but most are not much trouble if you already good enough to make it through the core upper division courses
but instead CE majors have to take a selection of EE classes that require an additional set of skills
 
and the computer theory class was not really a tough class: finite automata, push down automata, grammars, pumping lemma, etc... tests were like convert this NFA to a DFA or make a regular expression for something, nothing i would say CE majors could not do

If that's all you had in a theory of computation course, you got by easy. Turing machines, Turing reductions, P vs. NP and NP-completeness, applying mathematical inductions to prove that two differently defined languages actually define the same language.

so outside of that CE must take everything else including advanced algorithms and operating systems

In CS, you have the flexibility to take far more algorithms courses than CE. In my school (University of Waterloo), three sequential algorithms courses (four months each) are offered at the undergraduate level. The first two are required for a CS degree while the third is considered an advanced elective.
 
we actually had some math proofs, some kinda tough and we did have some turing machine stuff but were not tested on it
there are additional theory classes that im sure go much further but they are electives and grad level classes which i see no problem with since most CS majors are not trying to become "computer scientists"
 
we actually had some math proofs, some kinda tough and we did have some turing machine stuff but were not tested on it
there are additional theory classes that im sure go much further but they are electives and grad level classes which i see no problem with since most CS majors are not trying to become "computer scientists"

that kind of material SHOULD be tested, and test ad infinitum until you can recite without thinking. And it should be part of a standard undergraduate curriculum, not reserved for graduate work. That kind of material constitutes the fundametnal building blocks that computer scientists base their careers on.
 
Turing Machines? Please. Algorithmic theory - design, optimization, running time calculations - THAT should be learned and tested until you're able to recite it from memory, but unless you're going into theory, you'll never use the notion of a Turing machine again. Unless you're building a parser from scratch (which, to be honest, is retarded nowadays given that lex/flex will beat a hand-done parser 99 times out of 100), you'll never touch them again. Understanding the concept, sure. But learn it once and then keep a book to refer to for the once in your life you may need it later. It's not something that needs to be drilled into your skull.
 
imo cs and SE are almost the same. Except the fact that your typical cs grad will know a lot more about theories and your typical se grad will know a bit of EE and digital designs. But their core are mostly the same. At my school for example, the CSE major are required to take 4 upper EEC classes and the same # of CS core courses. The CS major is a much more 'open' major, theres a LOT more electives and a lot less 'hard' set classes. I would think your typical grad will be better at algorithms, but in general there is not that much difference. Your CSE/SE student might be better at realizing the bigger interaction of software/hardware
 
i think a lot of you are having trouble distinguishing between what your particular institution passes off as CS and what CS actually is.

i also think it's rather absurd to say: "a CE could handle this no problem. they just have to be taught it."

hell, does that mean i could design a whole architecture if i took circuits I & II? get real.

a real-world scenario: there is a new automotive plant in your home town. the company has 3 assembly lines, each capable of producing a certain class of vehicle. one line is for trucks and suv's. one line is for small cars. one line is for mid-sized and minivans. some aspects of the lines can be used for other vehicle classifications (for instance, small trucks can be assembled on either the minivan line or the truck line). some aspect of assembly is held up on one line. it is obviously not efficient to leave the rest of the line empty because an earlier part is having problems. however, there is a cost incurred with making a chassis switch lines.

are you suggesting to me that a CE can create an algorithm to dynamically dispatch the vehicles to certain lines and to know when to switch lines in the most efficient manner? are you suggesting to me that a software engineer will typically know how to do the same?

not likely.

CS is a special branch of math. SE is not a special branch of CS, unless you consider basic coding skills as reason enough to call SE a branch of CS. i consider myself a software engineer with a CS background. i could tell you that in order to solve that problem, i need someone who is an expert in either dynamic programming or stochastic methods, but i myself cannot solve the problem unless i use a stochastic method. i can, however, optimize the algorithm at a machine level once the algorithm designer is done.

i will say again that i think any CS could be an SE with little training. it only takes discipline. discipline in producing readable code (even if it's not the fastest code) and discipline in adhering to standards derived by the project and by other organizations. in little time at all, the CS will be able to design projects because they see first-hand the necessity of communication, modualization of code, etc. the reverse is not true. i know of NO software engineers who were trained as software engineers who could come even remotely close to solving the above problem.

i know of no CS trained as a CS that could do advanced CE work, and i know of no CE trained as CE that could do advanced CS work. because both know how to program a microcontroller or microprocessor does not mean a CE can replace a CS in any given situation.

edit: i guess it is fair to say that CS/SE have certain things in common. if that is your point, cool. beyond that, your point is lost.

edit2: why is it that some institutions in the US (even if not other countries) think it's okay to water down a computer science curriculum to the point that it is nearly indistinguishable from a software engineering curriculum and still call it computer science? it doesn't matter how many people don't plan to use the mathematical basis behind their methods; students ought to be exposed to this. otherwise, it is not computer science, it merely has the title.
 
Computer Science = Advanced (Discrete) Mathematics
Software Engineering = Design documentation and UML (stuff which you're very unlikely to do in practice) and code monkeying
 
(stuff which you're very unlikely to do in practice)

Only if you work for yourself or a crappy company that doesn't care about quality. I'm very proud to say that from the source I've seen produced by my company, it's very clean and well documented.
 
Back
Top