Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Computer Science vs. Computer Engineering?

Cliff posted more than 13 years ago | from the yet-another-fork-in-the-road dept.

Education 718

Dan B asks: "Like many other students across America, I plan on attending college as a freshman next fall. I am very interested in computers (I only reload the Slashdot site every five minutes), but there is something that perplexes me: what major should I choose? It seems that many companies are looking for computer scientists, but would they be desperate enough to accept computer engineers? What is the difference anyway? Well, a college guidebook could tell you 'computer engineering deals mostly with hardware' and 'computer science deals mostly with software', but that isn't clear enough for me. I believe the Slashdot community would be best fit to offer a more in depth perspective on the two majors."

cancel ×

718 comments

Sorry! There are no comments related to the filter you selected.

System Admin (1)

bullseye2 (54643) | more than 13 years ago | (#397476)

Become a Sys Admin.

Computer Engineers (2)

Kinchie (260645) | more than 13 years ago | (#397477)

Well, computer engineers get to drive more trains.

Well... (4)

Yhcrana (88366) | more than 13 years ago | (#397478)

Computer engineers deal with logical bits and gates: they build the I/O that computer scientists talk to, and they design things to work better and faster than before. Computer scientists (of which I am a part) deal with the same type of information, but we deal with it on a different level: we study programming language theory, algorithms, data structures and the like. How do you contain that data? How do you sort it? Etc.

Course Choices (1)

extrarice (212683) | more than 13 years ago | (#397479)

Beyond which title to choose, just make sure you don't go to a school that thinks a CS degree means you know Visual Basic. Make sure that you are taught C/C++/Java, and preferably some UNIX courses on scripting, perl, etc. Get as much experience on as many platforms as you can.

Good luck!
er

Don't do either (2)

PD (9577) | more than 13 years ago | (#397480)

Be a liberal arts major.

You can become a computer programmer anytime. It's like carpentry, you learn on the job.

An education on the other hand is something that you get in college. Why not learn something that will help you make sense of the world, like history?

Simple. (3)

The-Pheon (65392) | more than 13 years ago | (#397481)

Give up now! If you "only reload the Slashdot site every five minutes" you will have no time for your classes and it would be a waste of money to go to college! =D

Computer Engineering is about Digital... (1)

nullset (39850) | more than 13 years ago | (#397482)

I'm a third year computer engineering student at georgia tech.

This is what it looks like to me:

CS = dotcom whore. You'll probably go into IT or be a code monkey

CmpE = Digital Design, things like pipelining, cache, etc etc etc. The intro Cmp E classes are digital design (intro to digital logic etc)

I think a computer engineering degree is more robust (esp. if you get a P.E.). A Computer engineer could easily go into programming if so inclined.

--buddy

Lame Joke. (2)

SpanishInquisition (127269) | more than 13 years ago | (#397483)

The problem with Engineers is that they cheat in order to get results.
The problem with Mathematicians is that they work on toy problems in order to get results.
The problem with Computer Scientists is that they cheat on toy problems in order to get results.
--

Around here (1)

Dancin_Santa (265275) | more than 13 years ago | (#397484)

Around here we've got mostly CS folks. However, there are a few CEs and EEs around that have only a little less knowledge about CS as any of the CS people do.

In beginning your career, it is not necessary to know *everything* about CS. I have a feeling that's why the CEs and EEs are able to fit right in with their comparatively lower CS knowledge. Everything else you can pick up along the way.

CE might actually open more doors down the line than you realize.

Dancin Santa

I'm Afraid That... (1)

Fleet Admiral Ackbar (57723) | more than 13 years ago | (#397485)

many schools nowadays consider 'computer engineering' to be the MCSE, drag-and-drop doofus crap, when in fact it is more of an ENIAC-building vibe, as noted above.


Personally, I would choose computer science, just because it sounds better to the untrained (read: HR) ear.

CMPE vs. CS (1)

TheLurker (32233) | more than 13 years ago | (#397486)

Here at Georgia Tech [gatech.edu] the CMPE [gatech.edu] program is part of the school of Electrical Engineering, and deals more with the hardware side of computing, where the CS [gatech.edu] dapartment is it's own school which focuses more on the software side.

Well, what do you want to do? (2)

ScuzzMonkey (208981) | more than 13 years ago | (#397487)

You didn't really mention what your career aspirations were. Hard to give advice on which to pick when we don't know where you're headed.

IMHO, there's so much confusion in the marketplace over the differences in such terms that you should really worry more about what you want to learn and take classes appropriate to that. Some places, they're looking for sysadmins, they want you to have a comp-sci degree--other places, comp-engineering, for essentially the same role. Frankly, I think that most companies who specify their requirement so narrowly do so just because it sounds good, not because it really makes a difference in the job you'll be doing. I look for companies that are more concerned with your analytical skills and technical abilities than your credentials.

Your preference (1)

NukeIear (307760) | more than 13 years ago | (#397488)

CS does deal more with algorithms, OS design, compiler design and with a few classes in hardware. CE is generally harder then CS and is a mesh of CS classes with EE classes. So you get an idea of how a computer works and a better idea how to build complex circuits. Generally a company wants a CS major OR they want a CE major, they aren't mixed and matched unless the hirer is an idiot. So basically just do what you like more, coding or screwing around with circuits.

CSC vs CEng (4)

FigBugDeux (257259) | more than 13 years ago | (#397489)

If you are more interrested in writing Windows (Linux) Apps, Web stuff, or DB stuff, get a CSc degree.

If you want to work on embedded systems, or on DSP stuff, get a CEng degree.

If you aren't sure, get a CSc degree. If you aren't good at Math, get a CSc degree, a CEng degree is four years of math.

90% of jobs can be done by either a CSc or a CEng, and 5 years after you grad it won't really matter, it'll be your exerience that counts.

i started of in ceng and switched to csc... you need a _huge_ ego to do ceng.

Slashdot is only about computers? (1)

wadetemp (217315) | more than 13 years ago | (#397490)

I find it interesting that the prospective student's gauge of how much he/she is interested in computers is that he/she reloads Slashdot every 5 minutes. That's great and all, but I don't think of that as much of an indicator. Slashdot is about much more than just computers... and especially about much more than just engineering and science specifics.

Comp Sci & Comp Engr (1)

Wavicle (181176) | more than 13 years ago | (#397491)

Computer Science covers the research and application of computers to solve and study problems in the real world.

Computer Engineering covers the research and design of computers.

A computer scientist is more likely to spend time programming. A computer engineer is going to spend time building computers. A wise company looking to fill a programming position would accept a CS, CE or EE major.

computer scientists ARE NOT programmers (1)

zhrodague (179444) | more than 13 years ago | (#397492)

I think that it depends on whether you're an "applied" person or a "theory" person. Computer Engineering as I learned it focused more on taking core principles and applying them to known problems. Computer SCIENCE (I stress the word science) took core principles and used them to create more complex ones. For example, a Computer Engineer would take their knowledge of C and C++ and use it to create an embedded system. A Computer Scientist would take the C and C++ and figure out either how to make it better or to apply it to some highly theoretical problem. I think the key thing to understand is that computer scientists ARE NOT programmers. They are theoreticians. If you like the math, go computer science. If you like taking basic knowledge and extending it to a real world problem, go the computer engineering route.

Difference between CS and CE (at my school) (1)

turacma (266828) | more than 13 years ago | (#397493)

I'm a CS major at Northeastern. My roommate is a CE major at Northeastern. CS classes tend to be more programming oriented, algorithms, software design, etc. CE classes are more hardware oriented, computer architechture, gate arrays, the physical junk. So, the real question is what would you rather do: poke some code to make it work better on the hardware (CS), or make the neat new hardware to make software writing easier (CE).

Plan of attack (4)

OlympicSponsor (236309) | more than 13 years ago | (#397494)

First, unless you absolutely must, don't declare a major. Just take required classes your first semester to get them out of the way. If the school is large enough, every class will be offered nearly every semester anyway so you'll be in no danger of falling behind.

Second, talk to your advisor. This is invaluable. They will be able to explain the your different options (or point you to someone who can).

Third, as a quick guide. If you are interested in "computers" take an intro class that covers a wide range of topics so you'll get a feel for what's available. Also talk to fellow students who have related majors.

If you are interested in "programming" just go ahead and start in on the Computer Science major and decide on a concentration later. I would very strongly warn you against some kind of vo-tech, "we'll teach you VB and send you out into the world" type of major. Take the full science path--it's definitely worth it.
--
Non-meta-modded "Overrated" mods are killing Slashdot

wait and see? (1)

korinthe (209568) | more than 13 years ago | (#397495)

Why not wait to decide until you get to school, take a class or two in each of the departments, talk to the profs, undergrads, and (possibly) gradstudents, and find out which one tickles your fancy the most when you have a much better idea of what it would be like? The first year or two of college is notorious for change-and-growth. Very often people graduate with a degree in a field they were barely considering as pre-frosh. If you haven't decided yet what college you will be attending, pick a school that has both departments. Often a well-rounded CS major will need an Engin class or two, anyway, and the same goes for CE. You'll be better off giving yourself a chance at both departments. That generalizes to "pick a school with PLENTY of good departments, in case you want to go even farther afield." HTH :) Curran (originally Biochem, now CS, thanks to the chemistry dept's intro-CS-course requirement :)

Re:Don't do either (3)

Dancin_Santa (265275) | more than 13 years ago | (#397496)

You can become a computer programmer anytime. It's like carpentry, you learn on the job.

You can become a physicist anytime. It's a science like Computer Science, which is like carpentry, you learn on the job.

You don't learn CS on the job. You may learn some programming, but that is a far cry from CS theory.

Real Computer Scientists don't use computers.

Dancin Santa

CS vs. CE (1)

spectreone (171253) | more than 13 years ago | (#397497)

I was a computer science and engineering major at the University of Connecicut around the time that they decieded to create two separate degree programs as well (and have CS, CE, and CSE degrees all in the same department). The way that the difference between the two degrees was described to us was that CS deals more in theory, and CE more in design principles. This is primarily why CE tends to deal more with hardware, and CS with software. At least thats the way it was explained to us.

The difference is perceived (1)

Iscon in Siiscon (318648) | more than 13 years ago | (#397498)

They are much like the distorted titles given to people in the computer industry.

i.e. Systems Analyst(old term) = Software Engineer/Network Engineer(new terms)

If you're up to it... (1)

cavemanf16 (303184) | more than 13 years ago | (#397499)

Take electrical engineering. Definitely a difficult route to take, and I am no where near dilligent enough to do it, but those guys make boatloads of moola! If you can finish an EE degree, you can basically have your pick of jobs.

Re:Don't do either (1)

nkpatel (136330) | more than 13 years ago | (#397500)

Ah, that is a good idea. However, I don't know too many employers that hire history majors to write software.

Similar difference. (2)

cyb0rq_m0nk3y (262090) | more than 13 years ago | (#397501)

Yeah, damn engineers - can't live with 'em, can't kill 'em. Just like those damn programmers - its that whole law and morality thing. If we could just get over the whole death thing, we could kill either at will, and no one would care.

p.s. - half the programmers I know used to be engineers, but gave up on getting lousy jobs so they could do something they actually enjoy. Only one of them has an actual Comp.Sci degree, and what they do sucks ass.

not like anyone will actually read this...

Re:wait and see? (1)

korinthe (209568) | more than 13 years ago | (#397502)

crap. forgot about those pesky line breaks :)

Science v. Engineering (5)

dissipative_struct (312023) | more than 13 years ago | (#397503)

Well, semantically, CS deals with the "science" of computers, while CE deals with the engineering aspects. If the academic computer tracks stuck the the normal definitions, the CS track would stress algorithm development, mathematical analysis, computational theory, etc., while the CE track would stress creating software and hardware systems to solve problems in the real world.

In reality, there's very little difference between the two majors. Both will teach you basic computer programming, a little bit of hardware, and some of the supporting math. A CE degree will probably require you to take a few more engineering courses, while a CS degree might have some more math. Really, I would consider those two degrees interchangeable, with the specific education you get depending more on the school you attend than the name of the degree.

My personal opinion? Get a physics or math degree with a CS/CE double major/minor if you want very high-level technical programming jobs (in an engineering firm, for example) or if you want to do academic work. Get a CS/CE degree (don't really think it matters which) if you want to be a software engineer/software developer. If you just want to make some quick money and have no strong love for computers, get a quick certification. Note that these are just general guidelines... I know several great technical programmers who are entirely self taught, and I know one guy with a BS in CS and and MS in Math that can barely write a "Hello World" program in C.

Either (1)

smoondog (85133) | more than 13 years ago | (#397504)

The differences between these majors are clear when you consider that one is from an engineering school and the other is from (usually) letters and science or other. I think in the end, you will be well served with either. As a graduate student, if you are interested in an academic career I would think about CS. As an undergraduate I would consider either. I have heard of C.E. programs focusing more on hardware and CS focus more on software, but in practice I don't think that is true.

These days, I would also consider branching into other fields, such as bioinformatics, theoretical chemistry or medical informatics. I think there is a lot of exciting work going on outside of CS or CE that is right in line with traditional CS/CE research.

-Moondog

Evaluating programs (1)

cecil36 (104730) | more than 13 years ago | (#397505)

When choosing a college or school to enter, look very closely at the curriculum that you are required to take in order to graduate. Most CS and Comp. Eng. curriculums do require programming, but the languages that they teach is up to the administrators of the degree program. If you are choosing CS, select a program that mixes theory and application of those theories (such as Automata and Theory of Computation with a course in compiler design). Also network with various computer clubs located on the college campus, or in your community, as they can provide leads into getting jobs, or business opportunities with new products or services or existing products and services in new markets.

a must-read IMO (3)

Kwantus (34951) | more than 13 years ago | (#397506)

'fraid I've no grand advice other than to suggest you take the myth of a SW labout shortage [ucdavis.edu] into account.

Nice comparison (2)

Eoli (320216) | more than 13 years ago | (#397507)

Can be found here [calpoly.edu] . Written by a professor at California PolyTech.

Re:Don't do either (1)

chris311 (87683) | more than 13 years ago | (#397508)

I don't know many employers that hire history majors to do much of anything.

i did neither, my boss did both (1)

lithis (5679) | more than 13 years ago | (#397509)

my boss says that all the comp sci classes were wastes of time, but i was planning on majoring in cs. he much prefers ce, as do some of the other high-up guys in this (small) company. however, i never went and am doing just fine.

CS vs. CE (2)

zuvembi (30889) | more than 13 years ago | (#397510)

I just graduated from University of Cincinnati with a degree in Computer Engineering. One of my friends was in the UC CS department (he graduated at the same time). YMMV at other universities.

The differences and similarities seemed to me to be.
1. Same amount of math
2. CE -> more HW, gate level, analog design - VLSI optional minor
3. CS -> a lot more 'theory'

Ex. Algorithms for CE was "Here are these algorithms, Big O notation, this is what each is good for, apply some of them, learn how to use them and research them." For CS majors is was "Prove these algorithms work, analyze them, workworkwork, don't program them or do anything practical with them".

4. CE more learning how to program and how to learn the principles behind the language. CS seemed to involve a lot more pointless suffering.

5. After finishing the CE course, I can design everything in the computer and it's software except the power supply and the chip masks. After the CS program my friend learned how to program in LISP and x86 assembler.

If you're schools program is like this, it's an excellent way to learn to program / design computers. But if it's just an EE program with some programming classes, you probably don't want to take it.

That's a tough one. (1)

barryblack (31922) | more than 13 years ago | (#397511)

I just graduated with a computer engineering degree and I struggled with this decision for four years. Basically, my advice is this: Do whatever you think is going to make you the happiest. Computer engineers seem to get paid a bit more out of the gate, but most computer engineering places aren't as fun. The arugement that my professors used was to go into comptuer engineering and you can do computer science or computer engineering when you are done. I don't think that is the best arguement though. If you aren't going to be a computer engineer, you really don't need to know all that stuff. Also, you do learn a lot of computer science on the way to a computer engineering degree, but in my opinion, its not enough. Go with what you love.
--------------------------------------

Re:CSC vs CEng (1)

travisbecker (104621) | more than 13 years ago | (#397512)

you need a _huge_ ego to do ceng

I'm curious about this statement, why did you say that exactly? (or was it just sarcasm)

Travis

Go for something else (1)

SonCorn (301537) | more than 13 years ago | (#397513)

I would recommend that you get a degree in something like electrical engineering and minor in computer science. The EE degree is just a broader version of the computer engineering degree and will allow you more leway in a job after school, and companies will want you evven more if you have a double major or minor in CompSci because then they will think that you know how to use computers. Good luck to you in whatever you choose. But for me I will be happy with my Chemical Engineering degree and MBA

Get a course catalog (5)

dmorin (25609) | more than 13 years ago | (#397514)

See what the course load is like for both majors. Then look up the courses. See which ones you think you'd like better. Go for it.

Please for the love of God don't be asking which one will make you more money. People wonder why managers are farming out good jobs to India, it's because American kids are walking out of college and saying "Whaddya mean you're not gonna pay me $100k? What did I go to school for?"

They're too smiilar to say! (1)

DavidpFitz (136265) | more than 13 years ago | (#397515)

My school [bham.ac.uk] gives B.Eng in Computer Science (go figure!) but the truth is they are one and the same thing.

Some could say Comp. Eng. is more market driven and Comp. Sci. is more research driven, but at undergraduate level they're really the same. It's almost impossible for an undergrad to participate in research -- they just get taught how to build software and understand methodologies.

I take an Atrificial Intelligence degree, which is definitely science... but software engineering and derivatives could definitel be classed as engineering.

Re:Computer Engineering is about Digital... (1)

opeuga (208321) | more than 13 years ago | (#397516)

code monkey

Yes, we prefer donkey-coders. Thanks.

ope

Re:Don't do either (1)

Dancin_Santa (265275) | more than 13 years ago | (#397517)

You'd be surprised at how many elves are History majors. They are really good at making those toys, let me tell you.

Dancin Santa

5th Year Victory Lap (1)

hilltop (247710) | more than 13 years ago | (#397518)

First, unless you absolutely must, don't declare a major.

Sounds like ag reat way to end up at school for 5 years...

well, you probably will be in school for five years if you get a CS or CE degree. Unless you want to take summer school... bump that!

hilltop

Computer Science (2)

cnkeller (181482) | more than 13 years ago | (#397519)

I got a ComSci degree from UMD. Very heavy on theory, ie prove this algorithm runs in this time, design a better scheduling algorithm for your OS,create a language and build the compiler, etc. Very language independent. Most of my projects were implement this, we don't care what you do it in, C, C++, Lisp, etc. In fact, I was never taught a language, I was taught language theory; heaps, call by reference/value, etc. You were expected to learn the language on your own. Probably my best example was my compiler theory class. The professor said "I don't care if you can build a compiler or not when you get out of this class. In ten years you won't even remember how (asusming you don't do it for a living). What I expect is that you will know how to read the book for the rest of your life (the Dragon book). That way, you'll know how to build one if you need it down the road."

As a computer scientist, I can be expected to pick up any new concept reasonably quickly, becuase I learned the practice, not necessarily the implementation. It was also way heavy on math.

We didn't have a computer engineering program (although they may now), so I'm not sure what that is, but odds are it bridges the EE/CS gap.

I think it's mostly the classes (1)

SPautz (94799) | more than 13 years ago | (#397520)

I started out in Computer Engineering, but I didn't like the material covered: it seemed to have just a little too much low-level stuff for my taste. The Computer Science classes seem to have much more programming-oriented stuff like syntax and methodology, but the Computer Engineering classes seemed more problem-solving and design-analysis based. There's also Computer Information Systems which has a lot of the general computer concepts covered, plus several business classes.
When I changed majors I asked my employer what they thought about the difference in majors, and they said there wasn't enough difference between the curriculums for them to decide on a single one: they would accept either CS or CpE majors for any position. According to them, CpE majors seemed to be better at problem-solving tasks, but CS seemed better at implementing stuff. At any rate, it's a matter of preference.

Overall, I say start out with either a double-major or a minor in one, and work from there. Each has a lot of overlap with the other. If you decide to change majors later you'll know enough about the curriculum to know you made the right choice. If there's a demand in either field, there will probably be nearly the same demand in the other, so try both out and end up with whichever you like more.

I'm a Computer Engineer Major (1)

Kefabi (178403) | more than 13 years ago | (#397521)

I picked computer engineering. Pretty much, the main difference between computer engineering and computer science is this. Computer engineering is both computer science AND electrical engineering. The main reason I chose computer engineering over computer science is this, I'm in the College of Engineering which means I have access to all the fun engineering machines. I still learn a ton of programming, but I get a good amount of electronics and engineering on top of that. You get a more clear understanding of how the entire computer runs. In my mind, that makes the major a little more rounded out.

Of course, I'm happy with that. This is completely my opinion. Some people absolutely hate electronics though, so YMMV.

-Kef

CS all the way (1)

cluening (6626) | more than 13 years ago | (#397522)

I started out as a CE major, thinking I would like the EE part of it. As it turned out, I liked the first semester of EE and hated the rest of it. So, I switched to CS and have done well. The EE stuff probably wouldn't have been to bad, but it was both a) hard and b) uninteresting to me. Had it been only one of those (hard but interesting or easy but boring) I wouldn't have minded, but both at the same time was terrible. So, I would say that, if you really like deep math and such, CE is good, but if not, I would avoid it. I'm getting by perfectly fine with my CS knowledge thus far...

The difference is literally academic. (2)

emil (695) | more than 13 years ago | (#397523)

If you take the engineering track, you will spend a year learning the physics of transistors, another year studying communications and signal processing mathematics, and much more time studying material which you will never use. Along the way, you will have a few interesting courses, especially if your department if flexible with the electives.

If you go comp sci, you will spend loads of time programming in Pascal, lots of time writing compilers (without even the slightest introduction to yacc), and learning lots of stuff you will never use. Along the way, you will have a few interesting courses.

You can tell the date that a professor receives tenure, as that is the date that they stop keeping up with general changes in IT. A truly useful degree in either field should ideally involve a professional certification, but I've never heard of any large institution doing it (which can be attributed mostly to hubris).

If you want a narrow focus in comp sci, then go comp sci. If you want a broader exposure to the physical sciences in general, go with engineering. You will not use up to 90% of what you learn in the field. Such is a degree.

Re:Don't do either (1)

thomash (250125) | more than 13 years ago | (#397524)

You can become a computer programmer anytime.

You may be able to become a programmer anytime, but you can't become a computer scientist anytime.

Whats the difference? A programmer can program, a computer scientist solves problems. I first need to see that guy which uses the same algorithms as I do, does the same design as I do and did learn to program on his job. I need to find the guy, who does never ever use bogo-sort [tuxedo.org] but learned programming on the fly. I don't know him yet.

Go for both: Computer Science and Engineering (1)

GregGardner (66423) | more than 13 years ago | (#397525)

I got my major in "Computer Science and Engineering". It is a single major at the University of California, Davis, at least. Not sure how many other universities offer this major, but I couldn't decide on which I wanted to do, so I did both. I chose it mostly because it didn't require as much high-level math as the Computer Science degree and didn't require as much high level EE stuff as the Computer Engineering degree. It was more well rounded.

Re:Plan of attack (1)

NukeIear (307760) | more than 13 years ago | (#397526)

Usually a CS or CE major must declare going in. At my school at least, getting into the College of Engineering is a pain in the ass unless you start off in there. Once there it takes a year of Academic probation before getting kicked out. But if you start off outside COE, it takes a year of 3.5-4.0 GPA to get in. But YCMV so check it out.

Votech does suck, might as well go get a MSCE.

I don't agree (1)

iso9660 (319585) | more than 13 years ago | (#397527)

Anybody can teach himself programming and be an average programmer with some talent.

But with that talent and a serious programmer's education, the same person can be a great programmer.... some things you just can't learn on your own.

IMHO, the choice depends on how much programming means to you. Do you want to spend the majority of your life programming - or is it just a hobby among others? If so, history may be a better choice...

Huh? (1)

OlympicSponsor (236309) | more than 13 years ago | (#397528)

Programming is, at worst, a "skilled labor" job. That means it requires training to be good. (Your carpentry comment just reveals you've never done any). History, on the other hand, is simple memorization or, at the most, some thought as well. You don't need a teacher to learn history, you just need a book.

By all means, you should go to a liberal arts college--knowing history is very very very important. But for gosh sakes don't MAJOR in it.
--
Non-meta-modded "Overrated" mods are killing Slashdot

Re:Don't do either (1)

Anonymous Coward | more than 13 years ago | (#397529)

You may learn how to write programs, but the underlying theory wouldn't be there. You would only be able to pump out trained monkey code, and not understand what you're doing. Construction, on the other hand, is something you learn on the job. Explaining how to frame a house to someone doesn't involve understanding the different ways a house can be framed. All you're worried about is the end product. I have experience in construction, some computer science, and I'm majoring in computer engineering. I highly doubt that someone could learn in their spare time how to write the code and build the machine that you sat down at to write your post.

Re:Don't do either (2)

sparty (63226) | more than 13 years ago | (#397530)

Or, even better, double-major--there are definite benefits to taking CS classes, especially ones that deal with theory. However, I agree wholeheartedly that there's a lot of value in having a liberal arts education. The biggest difference is that having the CS classes will probably be more valuable in an economic/job-seeking sense whereas the liberal arts classes (especially if you can focus in on areas that really interest you) will have much more value to you personally. My 2 cents, anyhow.

(Oh, yeah, I'm considering a double-major in English and Comp Sci...aside from the threatening senior-year workload, I think it should be doable.)

Being a Comp. Eng. (1)

weink (18584) | more than 13 years ago | (#397531)

I am a computer eng guy doing software development, and the main differece is that when you take comp eng major, we had to take a lot of engineering base courese. Such as advnaced eng cal, and math, plus a lot of electrocal eng classes. But we also do a lot of programming, and software development. On the other hand, computer sci peopel do a lot more software development, such as graphics, AI, and DB.

But overall, I think I got more out of Computer Eng. due to all the other enginnering classes we had to take. Its really helping my current work with wireless, and network applications. Even at the higher level.

However, I belive that this is only a part of learning, most of real experice is from hacking around Linux, and from work. So, as long as you are willing to hack and learn, there is no differce...

As a Computer Enginnering Student: (5)

sl3xd (111641) | more than 13 years ago | (#397532)

I'm currently a Computer Engineering student, so I think I have some qualifications to describe the difference.

A Computer Science major deals primarily with programming and algorithms. They write programs, Operating systems, high-level drivers, etc.

An Electrical Engineer deals primarily with hardware - logic gates, and designing hardware that will perform algorithmic computations. IE. they design chips. These are the guys who work for Intel, AMD, etc. They don't worry much about programming.

A Computer Engineer is an Electrical Engineer that specializes in programmable computer devices, and therefore programming. So a CompE is mainly an Electrical Engineer, but also does a great deal of programming. Some CompE's design hardware, others write extremely low-level software, drivers, etc. Computer Engineers quite often work in the embedded market, as they have the skills to do both the hardware and software engineering involved.

Think of an Electrical Engineer as a geek who designs computer chips with a minor in math.

Think of a Computer Engineer as a geek who designs computer chips with a minor in Computer Science.

Think of a Computer Science major as a geek who programs computers, and doesn't design hardware.

And, in my opinion, it's funner to be a CompE because you can be doing hardware on one project, then software on the next.

Weigh your options (1)

WhyPanic (191016) | more than 13 years ago | (#397533)

Choose based on your interests. Ask yourself this: do I want to build the cutting edge technology or do I want to use the cutting edge technology. If you are reloading slashdot every five minutes, I am thinking you would be happier with Computer Science. However, you have other options. I myself am a student in Management Information Systems. The programming methodologies we use in my MIS coursework are far superior to the methodologies I used in my CS coursework. In my experiences, the computer science classes tend to be almost all programming related and the ones that are not tend to be really abstract; whereas, my MIS classes have focused more on real situations (in other words programming for a concept versus programming for a reason).

Mathematics or a hard science (3)

Anoriymous Coward (257749) | more than 13 years ago | (#397534)

Any good course in these subjects will contain a fair bit of programming along the way, with the benefit that they won't tell you how to do it. You'll get a good grounding in critical thinking and methodological approaches to solving problems, and you get to teach yourself programming to do the course work, which is how 90% of real-world code gets written - i.e. to solve a problem.

Disclaimer: I am a Maths graduate. I didn't take the programming options because they cut into my drinking time too much.

--
#include "stdio.h"

The difference.... (2)

KnightStalker (1929) | more than 13 years ago | (#397535)

Computer science: much math-based theory, some programming

Computer engineering: much hardware design, hardware theory, some programming (assembly, C, C++)

Software engineering: tiny bit of hardware design, some theory, much programming, some software development process

Re:The difference is perceived (1)

Joe_Camel (161171) | more than 13 years ago | (#397536)

Not according to the Society of Professional Engineers. The company I work for changed all the programmers' job titles back to Analyst or Specialst due to a lawsuit filed by the SPE a while back. It is ILLEGAL for you (or your company) to advertise you as an "Engineer" if you don't hold a PE certification.

Engineer vs Scientist (1)

schulzdogg (165637) | more than 13 years ago | (#397537)

I graduated in spring of 99 from Arizona State University [asu.edu] with a degree in Computer Systems Engineering. There are two sets of differences: Differences based on the program, and differences based on the degree.

First the Degree: CSE is much harder than CS. You end up taking a lot of math and physics. As a result your study of purely computer based things is less than CS. You generally take the same basic class's (algorithms/datastructures) but CS takes more in depth programming class's. CSE will teach you how a computer works, from the electrons up. CS will teach you all the funky cool things you can do with those computers.

The program diffrences vary from school to school. ASU for example had a CS department that was not clearly led, with no real sense of direction. Each student chose the electives they wanted and went with no real thought from the administration about how the program should be set up. CSE had several excellent teachers (Dr. Pheanis being in the forefront, if you are at ASU take CSE421 it will make you a programmer), and a well laid out plan that brought you through with a comprehensive set of knowledge. You should talk to students and professors and get an idea of how their program works.

I personally am glad I took CSE, the extra math and physics helped shaped my thinking. Plus I learned computers from the silicon up. At the time though I was jealous of my friends who were doing AI and Encryption codeing while I solved Differential Equations.

If you can force yourself to code take CSE, you'll learn a lot. If you don't code much take CS it will force you to learn to code.

Hope that helps.

Re:Course Choices (2)

Bellwether (12891) | more than 13 years ago | (#397538)


*Please*, don't go to a school that thinks a CS degree means you can program, in any language, whetehr it's VB,C,C++,Java, etc. Computer Science is not about programming -- as has been reiterated above. It's about understanding the core principles and paradigms of algorithms, theory of computation, operating systems, and language. It's about networks and about compilers, not about code. Computer Scientists are linguists, operations researchers, mathetmaticians, and prophets. They are not primarily coders. Don't confuse computer science with computer programming!

CE vs CS (2)

rlowe69 (74867) | more than 13 years ago | (#397539)

As guy who switched from third year Computer Engineering to a new Software Engineering program, I can tell you that Computer Engineering IS a lot of hardware. However, at my school it consisted of a lot of signal analysis, which if you don't like *complex* math, I don't recommend.

I mainly made the switch because Software Engineering is more generic, more open to moving around to different areas. Once you know circuit theory and advanced signal analysis (ie. DSP) you are slotted in a specific area.

Keep in mind though, people like ASIC designers make good coin.

rLowe

Re:Don't do either (1)

Kalani (66189) | more than 13 years ago | (#397540)

Real Computer Scientists don't use computers.

How ridiculous is that? Isn't that sort of like saying, "Real Chemical Scientists don't use chemicals?"

Honestly, hasn't this elitism carried a little bit too far? Yes it is reasonable to say that "Computer Science" is more involved than what some slack-jawed kid does to scrape together a working perl script of some sort, but CS still does involve computers.

You would be better off saying that "hack programming" is to CS as "some guy on a balcony looking through a telescope" is to Astronomy.

Make sense?
____________________

It's all about the focus (2)

Gen-GNU (36980) | more than 13 years ago | (#397541)

Computer Engineering, (at least at the college I attended), was a hardware degree with a software focus. Computer science was a software degree, with no hardware. I decided on CompE, so read the below with my bias in mind. =)

In my experience, both comp sci and comp E majors could program. The real difference came when you crossed software with hardware, like in embedded programming.

If your goal is to write object oriented software, on user level applications, or create the next set of tools to be used for development, go comp sci. If you want to get into embedded stuff, it sure is nice to understand the hardware you are working with a bit.

Re:Your preference (2)

yamla (136560) | more than 13 years ago | (#397542)

I agree with most of what you said. However, note that at my university [ualberta.ca] , Computer Engineering is significantly easier than Computer Science. There is a huge amount of overlap between the two, of course. CompEng students take many of the same compSci courses, at least for the first two years. CompSci students take many of the same eng courses (though harder math and english courses, of course).

--

Re:Computer Engineering is about Digital... (2)

korinthe (209568) | more than 13 years ago | (#397543)

CS = dotcom whore. You'll probably go into IT or be a code monkey

Yeah. Because Cormen, Knuth, Sipser, Rivest, van Dam, etc. are such IT whores and code monkeys.

The robustness of the degree depends not so much on the field but on the degree program at the school in question. You can go to any number of schools and get a degree that prepares you to be very good at IT, software engineering, etc. That does not completely describe the field of "computer science", however; it describes some of the applications of computer science. A scientist is a rather different creature by necessity.

Science vs. Engineering (1)

cprael (215426) | more than 13 years ago | (#397544)

Well, based on the definition set you're using, and from my perspective, you can more-or-less break the development community down into 3 groups:

  • Electrical engineering: This group primarly deals with hardware/firmware, using engineering principles to solve a given product design problem.
  • Software engineering: This group primarily deals with software, again using industry-standard engineering principles to solve a given product design problem.
  • Software scientists: This group does research on new technique and technology, dealing primarily with software.

Now for the killer. Based on all the exposure I've had to the industry, ~80% of software developers fit into none of the above categories. The vast majority of developers, however much they may shout and yell otherwise, are artisans, not engineers. They are to engineers as the cabinet-maker or blacksmith is to the guy who designs and supervises the construction of a bridge. They use rule-of-thumb, eschew systematic standards, and refuse to apply "real" engineering principles. This, btw, is one of the reasons why professional (certified) engineering groups really dislike the term "software engineer" - it ain't true, and it cheapens the certifications they have to spend years earning and testing for.

BTW-- Don't believe me? Go check out the design process requirements for, say, structural engineering, and then see if any "modern" software development group would be willing to apply that level of rigor.

Re:Don't do either (4)

jason000042 (319801) | more than 13 years ago | (#397545)

You can become a computer programmer anytime. It's like carpentry, you learn on the job.

Don't listen to this. This is the reason that so much software sucks. And so many web pages. People that don't really understand programming and computers write ugly, kludgy code, and they're lucky when it works.

Computers are complex. You need to know a lot about everything. To write efficient programs you need to know how CPU's work. To make efficient CPU's you need to know how high level programming works. That's why a lot of CS and CE degrees differ by a small number of courses.

Re:Science v. Engineering (2)

leko (69933) | more than 13 years ago | (#397546)

I have always thought that there should be a distinction between Software Engineers, and Computer Scientists. Well... There already is a distinction, but I think schools should off them as two separate majors. Software Engineers will become code monkeys. They will be well paid, and that is good because that was probably their intent.

Computer scientists on the otherhand are more interested in the math and theory behind the applications. Computer Scientists do less "useful" stuff, speaking for the present, and are really just software academics. Its sort of like the difference between those who use ML and those who use Java.

CSE = CS + CE (1)

pornaholic (242268) | more than 13 years ago | (#397547)

I'm a Junior now at Northern Arizona University [nau.edu] , where they offer a CSE degree [nau.edu] . Recently they added a CE degree also, but I think I still prefer the CSE.

This CSE degree is doubly accredited by abet and the other accredidation board (can't remember the name). I am learning both hardware and software concepts and aspects through this degree program.

The only thing I wish was different is that our school offered a wider variety of upper level CS courses for us to choose from. If you ask me, a person who just loves to learn new things, CSE is the way to go. It gives you a great background to both fields, and you can always pursue further education in any field that you wish to refine.

Don't wait to declare unless you want to spend more than 4 years! They have it all planned out...

EE476 Lab at Cornell (2)

ch-chuck (9622) | more than 13 years ago | (#397548)

was just here [cornell.edu] a little while ago - an example of Computer Engineering. You decide.

(PS - you can get an AT90S8515 kit for about $70 here [kanda.com] )

Re:Well... (1)

cd_Csc (151701) | more than 13 years ago | (#397549)

Rochester Institute of Technology (RIT) is offering "The First Bachelor of Science Degree In Software Engineering In the United States". They promote it as a cross between CS and CE.

Having been accepted into the program for next year, I would appreciate any input regarding this program in comparison to others. Their website is http://www.se.rit.edu/ [rit.edu] .

Re:Plan of attack (1)

Kefabi (178403) | more than 13 years ago | (#397550)

Be careful. In California anyway, many schools have what's called an IGETC for the city colleges (IGETC let's you finish your general ed. before you transfer), and many universities have a general ed all students are required to take. Computer Engineering is almost always an impacted program. Which means, you need to take so many computer classes your first two years, that while everyone else is doing 40 units of general ed, computer engineers have to do much less. Case in point, I only have to take one English class, and a few other GE classes to transfer. Everything else is Math, Programming, Physics, Engineering, etc... Some school are also like that with Computer Science. Check with an advisor about what classes you should be getting if you are definately going into computers, and don't assume that the regular general ed is good for you. You could get screwed over in a year or two when you find out you took unneccesary classes and still need more computer classes to go on.

Re:CSC vs CEng (1)

turacma (266828) | more than 13 years ago | (#397551)

If you aren't sure, get a CSc degree. If you aren't good at Math, get a CSc degree, a CEng degree is four years of math.

If you're not good at math I have to question dealing much with computers at all, but this statement is misleading. CS still has quite a bit of math requirements (I had to take 4 calculus cources, linear algebra, probability among other things).

Experience From interviewing (1)

Warloch (156203) | more than 13 years ago | (#397552)

I just finished my BS in Electrical Engineering [slashdot.org] at Texas A&M. From talking with my friends and recruiters, CEs that focus on hardware have a wider variety of jobs to choose from. If you don't want to code 24/7 then look at going into CE and emphasizing on hardware. You will still end up coding in some form or another, but you will have the oportunity for more variety in your life. CEs and EEs are expected to know how to code and many companies hire them for that as well. My personal bias is twards hardware. You also will have a better base if you decide to change majors to another engineering discipline. You will already have the basic engineering classes and won't loose as many hours.

Re:Don't do either (1)

Dfiant (13407) | more than 13 years ago | (#397553)

Uh-huh, and real carpenters don't work with wood, and real writers don't write. More accurately, I'd say "real computer scientists don't need to use computers." Of course, if you want to go beyond theory, I should hope a computer scientist would test on a computer. =)

Just graduating from Computer Engineering (1)

TheMenace (25892) | more than 13 years ago | (#397554)

I am going to graduate from the Computer Engineering [uwaterloo.ca] program at the University of Waterloo in April.
It seems that many companies are looking for computer scientists, but would they be desperate enough to accept computer engineers?

I find this a little funny because no one in my class is worried about getting a job, so I guess companies are desperate enough. :-) If you are just looking to land a job, either one will get you one as long as you are competant (and I assume that you are).

If you are really interested in just doing software I would suggest going into Computer Science. If you are interested at all in hardware, Computer Engineering might be good for you. At Waterloo we take both hardware and software courses, but most of the emphasis is on hardware unless you are taking the Software Engineering option (which I am not).

As far as software courses go, the core courses here include Java, data structures and algorithms, an OS course, and a software engineering course. 4th year elective courses include AI, database, distributed systems programming and more software engineering courses (I've probably forgotten some).

On the hardware side, our core courses include circuit analysis, control systems, microelectronic devices, digital design, communications systems and microprocessor structure. 4th year electives are more advanced/detailed versions of the above includeing wireless, VLSI systems, computer architecture, wireless communication and more.

I guess it kind of boils down to decideing if you want to focus on software only or do you want a bit broader education that includes some hardware/circuit stuff. I like doing software, but hardware also interests me a lot and that is why I chose Computer Engineering over Computer Science.

go computer engineering. (1)

Thrakkerzog (7580) | more than 13 years ago | (#397555)

It is easy to switch from computer engineering to computer science. It is not always as easy to go the other way around. Try computer engineering, and if you don't like it, you can switch to computer science.


-- Thrakkerzog

CS or CE (1)

c0d3r (156687) | more than 13 years ago | (#397556)

It depends on whether the school you go to is more practical application or more theory. Most good schools don't even have computer engineering.. its often cs or ee or eecs.

Pick The Path U want (1)

user_used (302757) | more than 13 years ago | (#397557)

I had the same choice in front of me several years ago, and opted for the Computer Engineering Track. The reasons being more than just to work with hardware, the truth is that most engineering programs will require you to learn alot about the various aspect of Electrical Engineering (which CE is apart of). This is a good thing for a wide and veried tachnical footing has alowed me to jump from project to project looking for what I really want to do. Example being I have done cell phone design, computer programing, 10 Giga Bit asic design, Turbo Codes, and now I am designing an asic chip set to run 4 G4+ boards in a clustering enviroment including modifying the LinuxPPC to run on these boards. What Im trying to say it's easy for a Computer Engineer to jump into fields suh as programing, and designing algorithims, but a Computer Scientist cant just jump into the Computer Enginnering Fileds.

Amusing Titles (1)

AlphaBrav (8012) | more than 13 years ago | (#397558)

Well, what buzz word do you preffer? Science or Engineering? I find both the titles amusing in the context of computers:

One is called Engineering, although you can not become a Professional Engineer in "Computer Engineering" AFAIK

The other is called Science, although I've never seen the scientific method outlined in any computer book.

I hope you get my point. Not like anything can be changed now.

I wish they would be called more appropriate names. I am not trying to knock them in any way - the education received is challenging and I respect anyone with such a degree. But it seems the fields are trying to get garnish some reputation by "piggy-backing" on established fields of education. Try Computer Programming or Computer Design. Those fit better to me :)

Whoring is better than being a technology slut (1)

Heidi Will(fuck you) (319226) | more than 13 years ago | (#397559)

Why deal with all that worthless technology. It does nothing to better our lives. In reality, it only furthers our weak perception that we've accomplished something meaningful.

I highly recommend investing your time and effort into whoring yourself out, much the way that I do. You don't have to deal with the lonelyness of cold technology, or the bitter landfalls of power outages. Instead, I like to put out for whomever walks by: man, woman, or animal. I've even settled for mineral lifeforms, when they arrive on comets from Mars.

Long live the sluts and whores, for we shall inherit the earth, as well as many, many lovely diseases.

Engineers are always better... (1)

Astin (177479) | more than 13 years ago | (#397560)

Computer Engineering is much more than hardware. I'm a Comp Eng who took the Software Engineering option (as opposed to the non-accredited CS software "engineering" option). I find that I'm able to assimiliate and use information much quicker than any comp sci I've ever run into. Given, out of school, CS students tend to have a broader programming background, and could whip me in Java or VB programming for the first couple months. But if I sit down and learn and use the languages, I'm running circles around them because I can evaluate what can be done instead of relying on procedures I've had driven into my head.

Simply put, Computer Engineering teaches you how to learn from practical experience in the real world. On top of that, there is a solid hardware background so that where a comp sci understands the programming, and possibly the programming theory, the comp eng understands just as much and then some. I find I walk into a group that is predominately comp scis and programmers and realize that they tend to have limitations that I don't perceive in myself and other engineers.

Wow, was that ever an arrogant ERTW rant... sorry. Comp Sci is a perfectly legitimate field, if you want to deal solely in software (not necessarily programming, but you don't go much deeper than the code level of any application). If you want a richer foundation, I'd suggest Comp Eng. The higher pay is nice too :).

Re:Well... (1)

coors (310082) | more than 13 years ago | (#397561)

That is not totally true. Computer Engineering also deals with programming language theory, algorithms, data structures, etc. Basically, if you're interested in software, you should go with CS. However, if you are also interested in hardware, computer engineering is a good mix of the two. Like another person said, look at the classes for both and make a decision about what you'd rather do.

I'm both (1)

kallisti (20737) | more than 13 years ago | (#397562)

When I graduated, my major was Computer Science and Engineering (CSE). During my time in college, there was a change in the accreditation board, ABET (Acc. Board of Engineering Tech., IIRC) lost the right to accredit "science" courses. This meant that lots of smaller colleges lost the right to say they had a CS degree. The new board (don't recall who, offhand) had much tougher requirements, such as a certain percentage of PhD degreed professors. My school dropped the mixed CSE degree as did just about everyone else. The degree is now Computer Engineer, but nothing much else has changed.

From what I've been able to discern, what I learned in school covered the same ground as most of CS, perhaps with less theory. We did cover Turing machines, FSMs, advanced data structures, AI, operating systems, architecture, etc. But we also covered the physics of semiconductors and lots of electrical, mechanical and electronic engineering and physics which isn't directly relevant to CS. As it turns out, I work in 3D graphics and games where all that physics did come in useful, but that's something of a fluke.

I did graduate ten years ago, so some of this has undoubtedly changed.

Re:Don't do either (1)

greg_barton (5551) | more than 13 years ago | (#397563)

You can become a computer programmer anytime. It's like carpentry, you learn on the job.

I wouldn't go quite that far. You can't learn everything on the job. At least minor in CS. That way you get some theory under your belt.

I say this from experience. My undergrad degree was in psychology. Out of college my only jobs have been in the IT field. I eventually got a masters in CS because I felt it was necessay. It wasn't necessary to program, but it was necessary to program _well_ and to understand the big picture.

But definately focus primarily on stuff besides CS. Computers are an empty bowl. You've got to fill them with something. Fill your mind first and the computer will follow. :-)

Why decide right away (1)

artoo (11319) | more than 13 years ago | (#397564)

There are the differences which have already been mentioned, so I'll give you my $.02 worth of advice.

Check out the school and the classes required for both programs. There's a good chance there will be overlap, and after taking some intro programming and hardware classes you can probably make a more informed decision based on which you like more and what you're good at doing.

Don't forget to check out other departments as well. Having gone to a school with an CE in engineering and what they considered usual CS degree in business (NT and Novell stuff), I checked out the Math deptarment and found they had a degree with a conecntration in CS - logic, language formation, angorithm analisys, and a great UNIX lab.

Good luck with school whatever you decide to pick.

I'm a CompE and suggest it (2)

FortKnox (169099) | more than 13 years ago | (#397565)

I'm a programmer. Been so every day of my life. I chose CompE over CS and IS. It wasn't easy, because CompE is a lot of electronic work. However, learning to be any type of engineer requires you to learn (more like pounded in your head) how to be a pristine designer. Learning stuff like OOP, UML, and design patterns are easier. CompE's can make design documentation in their sleep.
When you get out in the real world, you don't sit and code every hour of your job. You have to look at your requirements every morning and make design changes based on your requirement changes. Sure you code most of the day, but the important stuff is the design you do every morning. Trust me, when it comes to coding, its better to be a good designer than a good coder. And, as you probably know, if you code all day without design, it usually results in wasting hours of coding something that isn't a requirement, where as if you spend that extra hour every day designing, you hardly have to go back on work you've already done.
CompE is the hardest computer degree... requires a ton of math and sciences, but its better to go through 5 years of hell and be set for life than breeze through 5 years, and spend the next 10 years proving your worth.

--

do 'em both (1)

taco1991 (213491) | more than 13 years ago | (#397566)

Where I went to school I got a double major in both of them and the cirriculums differed by about 6 courses. The difference is the focus - CS stresses programming and software design. CoE had the basic CS cirriculum, the basic EE cirriculum, then upper level focused on digital architecture and design and related courses (networking, OSs, etc).

The two majors complimented each other very well - I left knowing alot more about the innards of a computer than most CS people do from their school courses. (it also can be more lucrative =) I could have just as easily gotten EE/CoE degrees and taken a more hardware approach and been a EE with some programming knowledge.

While your major doesn't have to do anything with what you end up doing after you graduate, the CS degree makes you more suited for a programming job while a CoE degree may give you more freedom to choose from hardware and software jobs even though you aren't as well specialized as a CS or EE...

Re:Don't do either (1)

lithis (5679) | more than 13 years ago | (#397567)

we've got a philosophy/religion major working here as a programmer.

It Depends on What School (2)

Majorachre (115493) | more than 13 years ago | (#397568)

When I was going through this same decision process, I decided that either was a valid position. Certain schools however have an outstanding program in one of the fields and that's what you should study. For instance, Carnegie Mellon is probably THE school for Computer Science, but their CompE department isn't world class. Alternatively, UIUC probably has one of the best CompE departments but their CIS department isn't number one.

The basic tenet that CompE = hardware, CIS = software is true. However, my experience is that CompE is a much more well-rounded degree. A true plain-vanilla CIS major is nothing but a two-bit (no pun intended) lab monkey who sits in front of a screen all day. If you can find a CIS department that doesn't teach programming, but instead teaches software ENGINEERING then you will have the opportunity to learn about programming theory, algorithm theory, mathematical representations, etc. An engineering CIS department is a thousand times better.

On the other hand, at least at my school, our CompE department could wipe the walls with the CIS kiddies. We have to spend nearly as much time programming as they do, and are often better at it. I think that understanding the internal hardware makes you a lot more qualified to write code that best utilizes that hardware. And by the way, most CIS majors couldn't write assembly to save their grandmothers.

The final comment is that often CIS departments are not accredited progams, where on the other hand CompE generally is. That can be of critical importance if you end up at a state school especially. Always stick with an accredited program over a non-accredited one (unless it's some special program like video game programming or something that is not universal) because you'll be on the same playing field with other graduates in your major.

Hope it helps,
|\|\ajorachre -- out --

Re:Course Choices (2)

pmcneill (146350) | more than 13 years ago | (#397569)

IMHO, this is just plain wrong. It's *much* more important that you learn how to think algorithmically than to learn all the languages that are currently "hot". It's trite, but the important thing about college-level computer science curriculums is to learn how to keep learning. If you don't think so, go to DeVry.

Were I going back to school, the one thing I would look for is breadth in the curriculum. Am I going to be learning about the many different programming langauge paradigms? Am I going to have the opportunity to take classes in a range of areas (AI, systems, databases, graphics, HCI, theory, etc)? How much depth will I be going into in the various topics?

Comp. E. is a SuperSet of Comp. Sci. (1)

Enoch (86158) | more than 13 years ago | (#397570)

I am a Senior at CWRU [cwru.edu] , where Computer Engineering is, basically, a superset of Computer Science. As a CE, you take every software class a CS person does; but then you take the Engineering core instead of the Arts and Sciences core. The Engineering core is infinitely harder than the A&S core, and that fact leads to some elitism around campus b/w CE's and CS's (i.e. CE's think they are more 31337 than CS's).

One good thing about CE is the fact that you do take a lot of EE classes and the more advanced electromagnetic physics classes. And, while you may think that those have nothing to do with Software Dev., they actually do... a lot. Understanding what a computer does from top to bottom, from every 0 to every 1, for every 5 volt difference, and understanding what voltage is... well, you are a better programmer because of it. Note: I did not say you would be better than a CS programmer, but you personnally would be a better programmer than not having taken those classes. Oh yea, you also take the more advanced maths, which helps a great deal. There is a lot of math involved in programming. Well, not in VB programming; but in any real language while creating a real application. Any analysis or algorithm or testing or verifying is done via mathematics. So, math helps.

Just my $.02,
Jeremy

Concrete or abstract (2)

sstammer (235235) | more than 13 years ago | (#397571)

The main difference between CompEng and CompSci, IMHO, is the attitudes towards abstraction and complexity. In CompEng, the emphasis is on concrete things (e.g. hardware gates, device physics etc), whereas in CompSci, the emphasis is on software, which leads to a tendency for more abstraction and virtualization.

I had an engineering-based education, and now work in a software-based field. Usually when I read a technical paper, I can tell from the level of abstraction/virtualization whether the author comes from a CompEng or CompSci background.

Two Sentences (2)

Lish (95509) | more than 13 years ago | (#397573)

Computer Engineering is about how to make the computer. Computer Science is about how to make the computer do what you want.

Seriously though, I would get a hold of the course catalog for a school you are interested in, and see which classes in which degree/department has more interest for you. For example, most CprE programs require some EE coursework; if you're not interested in EE, go CS. Career-wise, it makes very little difference really. Figure out which department you'd be happier spending 4-5 years in, and go with that.

Re:CSC vs CEng (1)

nd (20186) | more than 13 years ago | (#397576)

It's very difficult.

And by ALL means. . . (1)

Salgak1 (20136) | more than 13 years ago | (#397578)

. . .Learn the C Programming Language. Learn UNIX. NT/2000 is a somewhat useful skill, but Unix is more important. . .

Re:Huh? (1)

Kalani (66189) | more than 13 years ago | (#397580)

You don't need a teacher to learn history, you just need a book.

The same can be said of just about anything. Honestly, I'm not of the mind that everyone ought to have a degree in some liberal art, but there's no reason to misrepresent certain fields of study. Anthropology and Archaeology are very important to the deduction (or induction) or historical facts. The disciplines of every area of study can be magnified to complexity, we shouldn't oversimplify like this.

____________________
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>