Computer Science vs. Computer Engineering

Started by
13 comments, last by GameDev.net 18 years, 7 months ago
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.

My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)

Advertisement
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]

Hero of Allacrost - A free, open-source 2D RPG in development.
Latest release June, 2015 - GameDev annoucement

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.
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 ;-)

"It's such a useful tool for living in the city!"
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.

This topic is closed to new replies.

Advertisement