Sign in to follow this  

Computer Science vs. Computer Engineering

This topic is 4487 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

My hope in the future is to become a video game programmer, obviously, and now I'm at the point in my current college in which it's time for me to transfer (Getting all the Gen. Ed. out of the way). I'm currently looking at colleges to trasfer to, and have come to a fork in the road: Computer Science or Computer Engineering. I've done some checking around and have found that most programming positions require a BS in Computer Science, but it seems to me that getting a BS or MS in Computer Engineering would be much more logical way to go since it opens many more pathways in the future. Please let me know of what you all think about this.

Share this post


Link to post
Share on other sites
The line between CEng and CSci is drawn differently at every university, so you need to look at the actual program of study, not just the name. Engineering will probably better prepare you to be a code monkey, if that's what you want.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
As has been said, it really depends on the university. However, I strongly disagree that CE prepares you to be a code monkey.

CS typically places an emphasis on designing and analyzing algorithms, programming languages, and similar. In other words, you learn the theory of programming. Departments such as graphics and software engineering tend to be housed in CS. If this is what interests you, going the CS route would make your life easier.

CE/ECE typically places an emphasis on designing and analyzing computer systems, computer hardware, and similar. In other words, you tend to learn about what’s going on “below” assembly language. This type of training would help you write high-performance code for next-gen consoles, for example.

Being a code monkey has nothing to do with your choice of collage. If you take classes that appeal to you, love what you study, and experiment on your own… you will end up surpassing the code monkeys that surround you. If you take a bunch of classes just to get a degree, you will become a monkey.

The question you need to ask is: what about games interests you? Graphics? Sound? Hardware? Software Engineering? Networking? Design? Human/Computer Interaction? Figure that out, and evaluate the collages from that perspective.

Share this post


Link to post
Share on other sites
Computer Engineering is usually not so much interested in programming (that's software engineering). It's more a hybrid of CS and EE, that gives you a perspective on ahrdware, software, and most importantly, the interface between the two and how to design all of those systems.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
CE/ECE typically places an emphasis on designing and analyzing computer systems, computer hardware, and similar. In other words, you tend to learn about what’s going on “below” assembly language. This type of training would help you write high-performance code for next-gen consoles, for example.

That's what I meant about each university drawing a different line between CE and CS. Some universities consider CE to be more hardware-centric than CS, often pairing it with EE. Other universities consider CE to be software-centric and CS to be theory-centric. That's why you have to look at the individual program.

Share this post


Link to post
Share on other sites
Some colleges offer Software Engineering, but it's hit and miss as too wether that's actually CE or CS. As a bonus, with an SE degree you can call yourself a Software Engineer and not be a Liar.

Share this post


Link to post
Share on other sites
Quote:
Original post by Sneftel
That's what I meant about each university drawing a different line between CE and CS. Some universities consider CE to be more hardware-centric than CS, often pairing it with EE. Other universities consider CE to be software-centric and CS to be theory-centric. That's why you have to look at the individual program.


I agree. At my university, Computer Engineering was all about chip design and working with microprocessors. Software Engineering was the course about software design and management. But from the way you've described CE, it sounds like it might be the same. Have a look at the last year of the course and see what subjects you should be doing, and that will give you an indicator of what kind of graduates they will be churning out.

Share this post


Link to post
Share on other sites
I got my degree in Computer Science, but if I were to make the choice again I would choose Computer Engineering. I am interested in software. However, a lot of lore in the computer industry is what's done by people w/ both hardware and software talents. The Internet (CISCO router/such), Wireless communication, the Apple, original arcade games, gaming consoles, and video cards are a few example.

I think you should learn both, and the best way to do that is probably to get a degree in Computer Engineering. You might minor in Computer Science, but if I were interviewing I would personally be more impressed by Computer Engineering major/Physics minor or Computer Engineering major/Mathematics minor.

Share this post


Link to post
Share on other sites
Thanks for advice everyone. I'm weaning towards Computer Engineering, and thanks to you guys, I'm beginning to think that just might be the way to go for me. I have to say, my true love is computer AI, so majoring in CE with a minor in Mathematics sounds very much like the path I'm should be taking. As for the Software Engineering topic... I just can't find enough of it in certain colleges to be pleased with it. Especially the ones I'm looking at. But anyways, thanks again for your help.

Dan

Share this post


Link to post
Share on other sites
Quote:
Original post by Deyja
Some colleges offer Software Engineering, but it's hit and miss as too whether that's actually CE or CS. As a bonus, with an SE degree you can call yourself a Software Engineer and not be a Liar.


Actually, it was more or less illegal for a while to call yourself a "Software Engineer". It was all based on the principle that if you are an engineer, then there is a set of standards, especially heavy standards on ethics that you follow. Of course in relation to programming, that was not really possible. Our SE teacher told us it was not until less than a decade ago did Texas allow SEs to be called SEs. More quick info here.

/end quick history lesson

Share this post


Link to post
Share on other sites
I got my degree in CS, and my major area of specialization was Software Engineering. However, when I took my 1st job, I started doing alot more COmputer Engineering work. Now, I still almost solely write software, but I write it at a lower level. I do a little assembly code, but mostly it's C/C++ at the driver level.

Personally, writing software can be easily learned and is done by many many people. However, working closer to the hardware gives you such a better understanding of everything, and it's more experience to add to the resume. Anyone can be a Java programmer, not everyone knows how to write an Ethernet driver.

Share this post


Link to post
Share on other sites
I agree for the most part with what everyone has already said. I came to the exact same cross road 5 years ago when I started college. I got my BS at Purdue University, where CS was almost entirely software and I think only required one hardware class (that all the CS students feared, because they found it so hard [lol]). CompE on the other hand was a more or less equal mix between hardware and software, and the higher level/senior electives you chose could be more software or hardware based, depending on what you wanted to do. Also it was interesting to note that CompE majors couldn't get any credit for CS classes, but CS majors could (and often did) get credit for CompE courses.

I'm now studying at UT Austin, where the relationship between CS and CompE is much different. Hell, they are practically the same and only differ in name. There are several classes that are nearly identical between CompE and CS. For example, last Fall I took the CompE Data Mining course, which is nearly the same as the CS Machine Learning course. This Fall, I'm taking the Advanced Computer Architecture in the CS department. So yes, I have first-hand experience in seeing just how differently the line between CompE and CS is drawn, although typically I'd like to say CS is more favored towards software than hardware.


So yes, take a good look at the cirriculum of your college of choice to determine what path you want to walk down. Personally, I like the path where knowledge of hardware and software are balanced. You can't write good software without understanding the underlying hardware, and you can't design good hardware without knowing the type of software that will run on it. [smile] Plus that's the best way (IMO) to really understand computer systems as a whole.



Wow, I typed too much. [wink]

Share this post


Link to post
Share on other sites
Eh, I go to school in Kentucky, and it's generally accepted that a Computer Engineer is a highly specialized class of an Electrical Engineer, in that we go through pretty much the same courses as our EE counterparts, but instead of learning all of the physics that make the silicon work and the resistances and loads in the lines, etc, we do the work that's one step above that; we do logic design to build microchips, we do assembly design to make those microchips run, we do compiler design to make our programs turn into our assembly, and we do all kinds of languages and language theory and operating system theory.

If you want the title of "Software Engineer", go through as a Computer Science major. Instead of starting at the bottom where we do, start at the top and work your way down. You'll get a degree in CS, but then turn around and go to a school which will allow you to get a SE degree.

If you (like me) want the title of Computer Systems Engineer, be a computer engineer. I'm going to use my degree to build computer-aided music devices (like smarter keyboards, and a bunch of other cool devices I've got up my sleeve). Using my degree you could also turn around and build routers, or build wireless equipment, or something of the like; anything where you're looking at embedded systems or an entire system.

But if you're on this site, you probably want to write video games, and definitely where you want to be is programming, which is a forgone conclusion these days to be Computer Science, even though that's really a bastardization of the term. There really needs to be three fields:
Computer Engineering and Embedded System Design | Computer Science and Algorithm Design | Computer Programming and Effecient Practices.

Or at least, that's how I'd break it up.

Share this post


Link to post
Share on other sites
You know, people in the game industry come from alot of different backgrounds. Some are math, some EE, some physics... maybe even one or two studied Basket Weaving too and got a PhD in it (ok, maybe a stretch).

Really, you should decide what it is you find the most interesting and follow the path. If you like physics, Electrical and Mechanical engineering are good practical physics degrees (going full physics is a real challenge unless you are extraordinarily bright...).

If you like programming, Computer science might be right, depends on your school.
Some schools do very little actual programming... alot of schools seems to call Computer science IT+discrete math, that isn't computer science.

Computer engineering is probably where you want to go if you want an all around degree that covers everything. You'll get math, physics, some electronics skills, digital circuits, and usually some programming courses in C++ and systems oriented.

If you like math go for it... people with a math degree and good grades can usually do just about any job ;-)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Deyja
Some colleges offer Software Engineering, but it's hit and miss as too wether that's actually CE or CS. As a bonus, with an SE degree you can call yourself a Software Engineer and not be a Liar.


I know that in Quebec ( and possibly all of Canada ), you cannot become a P.Eng. after completing a Software Engineering course.

Share this post


Link to post
Share on other sites

This topic is 4487 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this