Computer Science vs. Computer Engineering


Recommended Posts

I was wondering what the general difference is between Computer Science and Computer Engineering majors. What classes do you usually have to take for each and what is the focus of each? Is one more focused on how computers work (circuits, PCBs, etc.) and one more on programming or what? Thanks.

p.s. I did try looking for my self but all the sites I looked at were pretty unorganized so I was hoping some people with real life experience could help.

Link to comment
Share on other sites

Yup. Science is pretty much all programming... Engineering depends a lil more on where you go, it'll have some programming, but it's much more hardware directed.

Link to comment
Share on other sites

i recently payed a visit to the engineering department at Auburn University. They told us that computer engineering is the people that directly work with the circuits and such. computer science deals a lot with a variety of programming languages. The classes for both included computer history and the basics of programming and hardware. the engineering degree then broke off into specific classes about specific parts of the computer while the computer science degree focused on the basics of operating systems and the individual programming languages. its different at each university i believe.

Link to comment
Share on other sites

i recently payed a visit to the engineering department at Auburn University. They told us that computer engineering is the people that directly work with the circuits and such. computer science deals a lot with a variety of programming languages. The classes for both included computer history and the basics of programming and hardware. the engineering degree then broke off into specific classes about specific parts of the computer while the computer science degree focused on the basics of operating systems and the individual programming languages. its different at each university i believe.

Exactly, thank you colleges for making our future look fuzy more and more everyday.

Link to comment
Share on other sites

I'm a computer engineer at UCI... so i'm pretty sure it's the same thing at most universities. Engineering is the hardware side of computer, and computer science is the software side. Engineering requires an extended study into physics and mathematics. CS involves studies in discreet mathematics, but not a great emphasis on physics. If you're comfortable with physics then you will be fine in engineering, but if not, then you might want to consider computer science.

Link to comment
Share on other sites

i recently payed a visit to the engineering department at Auburn University. They told us that computer engineering is the people that directly work with the circuits and such. computer science deals a lot with a variety of programming languages. The classes for both included computer history and the basics of programming and hardware. the engineering degree then broke off into specific classes about specific parts of the computer while the computer science degree focused on the basics of operating systems and the individual programming languages. its different at each university i believe.

yup you're right

im in computer science myself, the lowest we go is Machine Language (binary opcodes etc) and im sure glad im not taking engineering lol we had a guy do a presentation and he was a computer engineer and he showed us about what he does.....its cool but not my thing, i like working at higher levels like C/C++

Link to comment
Share on other sites

CS involves studies in discreet mathematics, but not a great emphasis on physics. If you're comfortable with physics then you will be fine in engineering, but if not, then you might want to consider computer science.

that might be one of the reasons i went for CS lol i HATE physics and CS here doesnt require any Physics, just Calculus and Discreet Math :x

:p

Link to comment
Share on other sites

that might be one of the reasons i went for CS lol i HATE physics and CS here doesnt require any Physics, just Calculus and Discreet Math  :x

:p

Yea i'm thinking of changing major too!!! I hate ASM so much!!! the only high level programming language i've learned is Python... but I know I'm not gonna use that in my career. And you know what? i'm studying for a physics quiz tomorrow. we're on relativity... ugh so boring!!!

Link to comment
Share on other sites

I am a senior in Computer Science, and I can tell you that it is definitely more software related. Although, I do take a couple architecture classes, the majority are software based. There is a lot of math, theory, and algorithm analysis. Engineering majors develop software a bit more different than Computer Scientists do. Computer Scientists try to maximize run time and ensure they choose the best algorithm for the function, while Computer Engineers simply try to accomplish a task, regardless of many optimizations. Their main focus is on circuits, signal processing, hardware descriptions, etc.

Software Engineering is part of Computer Science, which includes the planning, design, and implementation of large scale projects. Understand that most of Software Engineering is done on paper, and not in the coding process.

Anyway - for my degree, I've taken classes like: Algorithms, Data Structures, Compiler construction, Machine programming, Computer Architecture, Operating Systems, Software Engineering, and Graphics.

Hope that helps a bit.

Link to comment
Share on other sites

can anyone tell me why calculus is a requirement for computer science? :blink: i understand the need for basic math and some advanced math, but i don't see where calculus fits into everything... :huh: i've done a lot of programming myself, a lot of it before i was even in algebra II :blink: i'm in a c++ intro class right now, and we're adding variables together now :sleep: fun stuff...

but why do i need calculus? i mean, i understand it and all... i don't like doing it, but that's not the question :p

Link to comment
Share on other sites

gameguy,

For me, it is a requirement for a couple of reasons:

1) It's something different than the finite and discrete mathematics courses

2) It's required for Engineering Physics (yes, CS people do take this too)...

--> Physics is helpful for many things...take graphics for instance, if you're doing game design, you have to calculate all sorts of forces, etc...

3) Almost every major here must take a form of Calculus...it's kinda like a basic math. The business majors take business calculus, while the CS & Engineering majors take Calculus and Analytical Geometry.

That's about the best reason I can give. I know I use the discrete math a bit more in CS, but if you do want to do Graphics...Calculus, Physics, and Matrix Analysis is a must. I'm sure there are other CS specializations out there which require some form of Calculus.

Link to comment
Share on other sites

can anyone tell me why calculus is a requirement for computer science? :blink: i understand the need for basic math and some advanced math, but i don't see where calculus fits into everything... :huh: i've done a lot of programming myself, a lot of it before i was even in algebra II :blink: i'm in a c++ intro class right now, and we're adding variables together now :sleep: fun stuff...

but why do i need calculus? i mean, i understand it and all... i don't like doing it, but that's not the question :p

Calculus is required in CS. Sorry bro, just gotta stick with it.

Link to comment
Share on other sites

can anyone tell me why calculus is a requirement for computer science? :blink: i understand the need for basic math and some advanced math, but i don't see where calculus fits into everything... :huh: i've done a lot of programming myself, a lot of it before i was even in algebra II :blink: i'm in a c++ intro class right now, and we're adding variables together now :sleep: fun stuff...

but why do i need calculus? i mean, i understand it and all... i don't like doing it, but that's not the question :p

calculus is essential and basic requirement for computer graphics, not tools but programming in language like c++, you study line algorithms, slop concept and apply all these in c++ to make these things...i know all these things are built-in in graphics.h but some programmed that graphics.h too...google line/circle/ellipse algorithms and you find just calculus there...in calculus we study y=mx+c and like that...i hope you can find more and more info on this from net

SkullBock,

Link to comment
Share on other sites

I asked my CS instructor the same thing... 'Why is calculus required?' The following day he came back and handed the class a program and told us to do it. Unfortunately for us, you had to know calculus to do the problem.

I don't exactly remember all the details, but say you're being contracted to write a program for a construction company. They want to build a road through a mountain, but need to figure out ACCURATELY how much sand/gravel/dirt/rocks will need to be blasted. You need calculus because this is what calculus specializes in, finding the area underneath a curve... Mountains are certainly not straight. This kind of work is done constantly... as we all know, and it is calculated by programs. Programs that CS majors create... so.. CALCULUS IS NECESSARY

Link to comment
Share on other sites

i have just applied to college and was fuzzy with the CS and CE differences. i knew CE focused more on the hardware aspect, which i like more. however, one of the deciding factors for me was what i read about future career opportunities. its being predicted (and is already happening) that CS jobs are going to decrease in the states significantly and be outsourced to foreign countries (like india). CE jobs on the other hand, will increase very significantly in the next 5-10 years.

but heres a question for all of you, what jobs will you get out of college after studying CS? CE?

most of the colleges and universities i applied to said average starting wages for CE graduates were around $40-50k a year.

btw, anyone here go to northeastern university, RIT, rensellaer, or university of rochester? hows life there?

Link to comment
Share on other sites

I am a senior in Computer Science, and I can tell you that it is definitely more software related. Although, I do take a couple architecture classes, the majority are software based. There is a lot of math, theory, and algorithm analysis. Engineering majors develop software a bit more different than Computer Scientists do. Computer Scientists try to maximize run time and ensure they choose the best algorithm for the function, while Computer Engineers simply try to accomplish a task, regardless of many optimizations. Their main focus is on circuits, signal processing, hardware descriptions, etc.

probably the best description so far but here's some of my insight.

Computer science is a science. Hence, its drenched in pure theory. What you guys specialize in is information theory and algorithm development. You try to put normal things into mathematical terms, and do it well! This includes languages, physics, processes, intelligence, etc. It's not so much about "learning to program" as much as "learning to design programs". When they teach you computer science, they usually teach you in tons of languages so you think language independant. The language is just a stumbling block, the emphasis is on the algorithm.

Computer engineering does involve lower level design, as well as high level design. An engineer is someone who you can ask to build something, and they will do it. It involves the entire system of things. For example, lets say you were designing the next generation software defined radio cellphones. There's all kinds of things invovled, first is the hardware design, the frequency usage, power usage, chip design, all the different components, costs, etc, and all the hardware design stuff that needs to follow codes and get fcc or csa or whatever approved. Then there's software end of it, how is the information being sent, are packet size big enough?, could we organize topology better, have firmware (For different regions) upload centres here, how much bandwidth. dsp (digital signal processing), Games? interface design? whatever. There's a lot to it, that the engineer needs to be responsible for and able to do. You ask him to do something, even if they knows nothing about it, and they should be able to do it.

So to contrast the two, computer science is really all about algorithm design and information theory. Computer engineers must take in a wide variety of disciplines and be able to accomplish many tasks. We are the applied science. Computer science is really more of a pure science.

If you choose computer science takes calculus 1-3 (3 should be multi-variate). And take a basic mechanics and optics couse. A 1st or 2nd year course should do you fine. Also take some engineering course and learn "some" low level stuff. It'll give you insight into optimizing, os design, compiler design, etc. later on

If you choose computer engineering, i suggest you take as many physics and math courses as possible, even though you might not need as much quantum theory as a pure electrical (computer engineering is like a subset of electrical engineering), you'll definently want to take it because in 20 years time or so, you want to be able to adapt, and not bound to a single technology. One thing i noticed is that too many school's are focused on cmos and even now, a lot of techniques are obselete (unless you happen to be a grad student doing research like many are).

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.