Skip to main content
gamedev.net
🔒 Locked

Computer Science vs. Computer Engineering

Started by sniper1263 Aug 29, 2005 at 3:06 PM 13 replies 2.5k views
Original Post
sniper1263
sniper1263
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.
Sneftel
Sneftel
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.
Promit
Promit
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.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Sneftel
Sneftel
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.
Deyja
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.
Trapper Zoid
Trapper Zoid
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.
benatkin
benatkin
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.
sniper1263
sniper1263
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
Drew_Benton
Drew_Benton
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
BeerNutts
BeerNutts
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)
Roots
Roots
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]
ciroknight
ciroknight
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.
Name_Unknown
Name_Unknown
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!"

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.