• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Computer Science v. Software/Computer Engineering

starsfan7

Limp Gawd
Joined
Apr 29, 2005
Messages
193
Ok, if this is the wrong place for this, I aoplogize, it seemed the most appropriate section for this question. I am going to college (majoring in Computer Science currently) with the intent of becoming a game designer/programmer. Right now I am about 30 hours in, with most of that being math (Taking Cal II right now) and random other stuff ie: english, poly-sci, history etc. The question that none of my advisors seem able to answer is what major is more appropriate for my desired result, that is being as prepared as possible for the above mentioned field? I initially thought computer science, but some research has lead me to believe that CS may be more "theoretical" as opposed to what I would need. I am hesitant to go to a gaming specialized institution as that would box me in later if I find out that game development isn't for me, so I want a little broader education. So my question is, which major or field of study would be the most appropriate for what I want to do?

*edit*

I posted this here because I want answers from people who actually know/do this stuff. You know the most about it, I would think *shrug*.
 
It really depends on where you go & what the programs are like - there's very little standardization with CompSci programs.

CompEng is probably right out unless you want to get into hardware.
 
Computer Engineering will not be what you want to do, given your stated goals. If you'd said game programming & hardware architecture/system design, I would say stick with the engineering and pick up comp. sci. as a side item.

Actually, since you're interested in game design I would suggest double majoring in CS and something that fascinates you. Also, PLAY a lot of games. As many as you can. But don't play them as a player. Play them as if you were asked to improve upon them. See if you can decide what sets a game apart from the others or why one shines while another is just so-so. If you go straight CS you may not be as well rounded as you'd hoped when you start looking for a job. If you go into an interview with the CS skills and an enthusiasm/eye for design, you'll do just fine.

Now here's the real trick - trying to keep it fun. When you start playing games like this, it's hard to stop. And it does kind of take the fun out of it after a while. Kind of like how a gourmet can't really just enjoy food like the rest of us. If you can keep games fun while honestly analyzing them, you'll be doing pretty well.
 
Comp sci is better suited for programming than comp eng. Actually I found a school in Canada that has a Game Development Stream for Comp Sci. It's pretty slick so I've applied to be a student there to test the waters. I've been working in IT for the past several years along with being an teacher and IT consulting along with early work with nvidia so I've got an edge going into such a program. This program though looks to be aimed at making game developers and game hardware development as well so it's really got me intrigued.

www.carleton.ca http://admissions.carleton.ca/programs/ugprogram.htm?dd=355K

It's a new program there a few years in only, they have labs with pc's hooked along with Wii's, PS3's and XBox 360's...
 
Well, to clarify for you both:

I have been toying with the idea of CE major with a CS minor or vise-versa, with a dual major in mathematics since I have to take so much of it anyway.

I currently live in Lubbock, TX. We have Texas Tech here, but I have heard that their CS/CE program is a little lacking, when I have schools like UT, UT at Dallas, and Texas A&M practically down the road.

All helpful, please continue...
 
I was in your position about 6 years ago. At my school the CE and CS really only overlapped in the math classes. I had a stated double major of CS/CE because I wasn't sure which I'd prefer. I liked the hands-on aspect of engineering as well as the theoretical aspects of CS. However, once I started getting into the CE core classes (as opposed the general engineering base classes) it started getting boring. All the hands-on stuff disappeared and then it was just theory about how you'd do hands-on stuff. I ended up taking computer graphics the same semester I was introduced to electrical networks. That was when I knew that CE just wasn't going to cut it. Writing a ray-tracer was tons more fun than figuring out the value of some pointless resistor.

Anyway, looking back I wish I'd minored or double majored in something completely different from computers and math like music or graphic design. I feel like I missed an opportunity there. I'm now doing the piano major track at a local community college and loving it.
 
Working at a job that used to teach kids how to program games, I can tell you right now that regardless of school, comp eng students tend to lack in programming knowledge as opposed to the same year comp sci students.

To their credit a few of the engineering students showed some better problem solving skills due to the nature of the program. In the end though I feel that neither program really gets one in the proper mindset to create a game. It's just not the focus of the program.

Here's some thought into game design you may find perplexing. These ideas will never be touched on in either of those type of programs unless you find a Game Design 301 course at some random college.

When Street Fighter 2 was designed, the programmers admitted that combos were NOT actually considered in the process.

How would you go about coming up with combos?

The hit system?

Priorities?

Player balance?

In code would it matter if Megaman hit the bullet or the bullet hit him?

How would you go about creating the concept of "collision" in 2D?

How would you go about creating the concept of collision in 3D?
 
At the school I was going to most of what the CS program was for the first two and a half years was basically just learning how to program in foo language, learning a lot of mathematical concepts and gened courses. In the last year and a half It was mostly electives and course programs that teaches you how to applied what you've learned in the previous years.

Anyway If you do want to stay on track to be a programmer continue on the CS track. Then take your electives and such in a subject/field that interests you. Also if you're not too sure about being a game developer take a class related to game development at a community college over the summer. It's a good way to test out the waters, and possibly meet some people that actually work in the industry so you can pick their brain on the subject.
 
Over here at Stevens we have a specialty certificate in Game Design under our CompSci program and a whole bunch of classes that center around it. My personal opinion is that CompSci, depending on the quality of the program will be much more beneficial to game design as it will give you a solid basis on coding and algorithm design that will come in handy.
 
Well, I have been told that game design primarily uses C++, which I have never used. I taught myself html and some php back in the day when I was doing IT, but after I started school, it's all been math so far (other than english and stuff which was blow off for me anyway). I am interested in that game development masters program that SMU has, the guildhall, but I would probably take an internship somewhere before I decided to go that route. Some of the colleges in the Dallas area (I have some family there and I am in Dallas A LOT, so I am already familiar with the area, would be easy to transfer there, etc.) have started small gaming programs so I guess that be what I end up doing. I have refrained from taking any core classes at all and I have just been focusing on the fringe type required classes, but I am quickly running out of classes to take : /.
 
Computer Science + Game Development courses if your college has them and you will be set.

But seriously, if you're into programming then take Comp Science and learn game programming on your own time. There are PLENTY of resources on the internet that teach you how to make games. Maybe you could start a game mod team with a group of college buddies and make the next biggest thing since Counter Strike. Easiest way to showcase your talents and maybe strike rich if your game is that good.
 
i dont know about Software Engineering, but whereas computer graphics with OpenGL are standard course topics in Computer Science i think you may find Computer Engineering a bit lacking in those areas.

If you don't take a graphics class, it's very hard to learn how to do OpenGL/DirectX on your own (to the point of using transformation matrices and whatnot...the basic framework isnt that bad though). You also need to ensure you take a linear algebra/matrices course and MAKE SURE you ace that bitch. You'll hate yourself if you dont learn much and end up having to learn it all again in a graphics class.

of course game design isnt all about 3d api's, there's large scale project elements which tie into concepts you might learn in Software Engineering (assuming it's not just some generic software programming degree that happens to be taught by the school of engineering, rather than something that actually focuses on software engineering. again, no experience with this degree). but i'd imagine game companies want highly-skilled graphics programmers for everything but management positions, so while Software Engineering may be helpful to some extent, it won't be very helpful in landing you a job.

but check out your course catalog and see what's available for what. and consider transferring to UT eventually, it's a highly sought after field and you need good credentials/skills :)
 
I went to what most people would consider a very good technical school, and this is what their majors were like for CE/EE and CS.

CS - theoretical - programming is, of course, heavily emphasized, but equally so was the actual theory of computation and other foundational knowledge like data structures, algorithms, operating systems, networking, HCI, AI, language theory, database theory, automata theory, and software development processes. Think of this as the software and abstract side of computing. Throughout college I used a whole variety of languages (including some I picked up myself and used in projects where they allowed you to use whatever you want) like Lisp, Scheme ( blah ), ML, Java, C/C++, Prolog, Perl.

EE/CE - lower level in the computing chain, there are almost no overlaps between my school's EE/CE and CS programs, except for the upper level courses like computer networks. The EE/CE students learn stuff like VLSI, circuits, circuit design, and they dealt with VHDL.

My friend went to RIT, which separates CS and Software Engineering. Their CS program was basically like my school's, heavily into theory. My friend decided to go for a software engineering degree and RIT has a game development program now, so he took a lot of those courses. His SE degree is much more applicational and less theory-based, so he took fewer theory courses than I did (no advanced theory of computation, language theory, db theory, compiler theory, networking) and a lot more courses focusing on software development processes and design (I took several of those, but he probably had more). He also took a few game development oriented courses which focused on creating a game and making graphics and such.
 
I know at Maryland, if you pick two of the following: Comp Sci, Electrical Engineering or Comp Engineering, you might as well get the third and you can still graduate in 4 years
 
I currently live in Lubbock, TX. We have Texas Tech here, but I have heard that their CS/CE program is a little lacking, when I have schools like UT, UT at Dallas, and Texas A&M practically down the road.

I got my Computer Engineering degree from Mississippi State. CPE (not CE) is _definitely_ hardware and digital logic based. One of the best professors I ever had was Dr. Marion Hagler. He was a professor at Texas Tech before leaving to go to Mississippi State and we often discusses the differences between the schools. He said that MSU was more focused on "teaching you how to tackle and solve problems" than Texas Tech. He said that Texas Tech was one of those schools that gives you problems and gives you answers and that's what you're forced to memorize and regurgitate. Then, when you get out in the real world you're screwed if you face a problem you've never encountered before. The fact that MSU was diametrically different from this is a big reason I appreciate Dr. Hagler and the other professors I had at MSU.
 
Computer Engineering will not be what you want to do, given your stated goals. If you'd said game programming & hardware architecture/system design, I would say stick with the engineering and pick up comp. sci. as a side item.

Actually, since you're interested in game design I would suggest double majoring in CS and something that fascinates you. Also, PLAY a lot of games. As many as you can. But don't play them as a player. Play them as if you were asked to improve upon them. See if you can decide what sets a game apart from the others or why one shines while another is just so-so. If you go straight CS you may not be as well rounded as you'd hoped when you start looking for a job. If you go into an interview with the CS skills and an enthusiasm/eye for design, you'll do just fine.

Now here's the real trick - trying to keep it fun. When you start playing games like this, it's hard to stop. And it does kind of take the fun out of it after a while. Kind of like how a gourmet can't really just enjoy food like the rest of us. If you can keep games fun while honestly analyzing them, you'll be doing pretty well.


The funny thing is, that's how I typically play games now. Most of my friends refuse to play games or see movies with me because my typical reaction, even to something I like, is,"I wish they had done this instead of that, or put that there." etc. I tend to analyze games that way, I have a few that I don't nitpick because I think they are great games, but for the most part, yeah, check.

I really appreciate everyones replies, and info helps a lot because most of the advisors here look like I slapped them with a wet fish when I tell them what I want to do with my education, and most are equally unfamiliar with game development as they are appalled by it.
 
a double major in Computer Science and Math (Linear Algebra especially) would aid you the most in becoming a game programmer. Or maybe just computer science if you don't want to do graphics.
 
Computer Science = Design and Logic. Coding is just a tool.
Computer Engineering = Integration. Almost half Electrical Engineer and half Computer Science. Very versatile.
 
Computer Engineering = Integration. Almost half Electrical Engineer and half Computer Science. Very versatile.

That's a good way of thinking about it. In my practical experience, Computer Engineers are Electrical Engineers who are equally comfortable in both the analog realm and the digital realm.
 
That's a good way of thinking about it. In my practical experience, Computer Engineers are Electrical Engineers who are equally comfortable in both the analog realm and the digital realm.
Jack of all trades, master of none.....

I don't think it's possible to be good at both. I have a friend who's a CE major who's an excellent programmer (accepting a full-time position at MS at the end of this semester) but who just barely gets by in his EE classes. On the other end of the spectrum, in all of my 400-level CS courses the CE majors have routinely been puzzled on how to do most of the programming projects. In my opinion it's far better to pick one and specialize in it.
 
Jack of all trades, master of none.....

I don't think it's possible to be good at both. I have a friend who's a CE major who's an excellent programmer (accepting a full-time position at MS at the end of this semester) but who just barely gets by in his EE classes. On the other end of the spectrum, in all of my 400-level CS courses the CE majors have routinely been puzzled on how to do most of the programming projects. In my opinion it's far better to pick one and specialize in it.

Look at me. I'm a Xilinx engineer. Not only do I need to understand digital logic, but I also need to understand how voltage and temperature affect the capacitance and inductance of the chip. In addition, I need to understand how programmers will use a particular design and make it accessible for them. It's not a "jack of all, master of none." it's a "jack of all, master of all" situation.
 
That was when I knew that CE just wasn't going to cut it. Writing a ray-tracer was tons more fun than figuring out the value of some pointless resistor.

I don't think this is giving CE a fair evaluation. It's apples and oranges. Perhaps if you compared writing a ray-tracer to creating a smart car alarm system with voice and facial recognition or an elevator system that senses its load and adjusts its speed accordingly, then I believe it would be a fair comparison.

I graduated with a degree in CE but eventually moved into a web developer position. I tend to agree with many of the posters here that CS would be the more logical way to go. One thing the OP needs to keep in mind though, the courses taught in college and the syllabus in your text book is not even enough to cover what you want to know in your related field. In order to excel in what you are doing, you will have to put in more effort into reading other books.
 
One thing the OP needs to keep in mind though, the courses taught in college and the syllabus in your text book is not even enough to cover what you want to know in your related field. In order to excel in what you are doing, you will have to put in more effort into reading other books.

I will add that college typically doesn't just give you all the knowledge you will need - you have to continue learning beyond college. It gives you (hopefully) a good foundation to build upon to tackle problems and how to find answers.

Many of the things I do on the job are not directly related to what I learned in college, but my curiosity from school carried over to my professional self so I still try to read and experiment a lot on the side.

Your point should be heeded by everyone. :)
 
I am currently a Computer Engineer student at Wentworth Tech in Boston. I like the major alot though I was in the same situation as you when I was deciding.

The integration of hardware and software interests me, so I went CE. CE seems to cover alot and you understand a lot more than the software. You understand the hardware limitations which could defiantly help when a company is hiring you for a job in development.

Good luck choosing though, I agree about CE being less focused on programming, but that doesn't mean you cant. Some places like the engineering/hands-on background more than a theory based one. I've only had 1 C programming class, and the rest are towards the end of my studies. I'd love to get into software, but for right now I have to learn on my own.
 
Look at me. I'm a Xilinx engineer. Not only do I need to understand digital logic, but I also need to understand how voltage and temperature affect the capacitance and inductance of the chip. In addition, I need to understand how programmers will use a particular design and make it accessible for them. It's not a "jack of all, master of none." it's a "jack of all, master of all" situation.

I agree with this, but then I'm an ECE. It's definitely not a "master of none" situation.
 
A good way to look at this is that a CS major is more of a code monkey. He/She better love to code as that is what they will be doing. A SE will still be doing a lot of coding but they will be working more in the design of the software.

These are all really good comments but I personally would stick with something that has engineering stuck at the end of it. I am also willing to bet if two people are going out to get a job just coming out of college with a bachelor in their respective fields with everything else the same (SE or CS) the person with the engineering degree will get the job 9 out of 10 times over the other person. I am not trying to start a war here but an engineering title holds more than a CompSci degree, no questions asked. Sorry to say it but it just does.

Look at the following breakdown of courses that Auburn University has for both the CompSci and SoftwareEng degree. Not much difference in the two as you can see.

CompSci: http://eng.auburn.edu//files/file320.pdf
SoftwareEng: http://eng.auburn.edu//files/file321.pdf
 
A good way to look at this is that a CS major is more of a code monkey. He/She better love to code as that is what they will be doing. A SE will still be doing a lot of coding but they will be working more in the design of the software.

These are all really good comments but I personally would stick with something that has engineering stuck at the end of it. I am also willing to bet if two people are going out to get a job just coming out of college with a bachelor in their respective fields with everything else the same (SE or CS) the person with the engineering degree will get the job 9 out of 10 times over the other person. I am not trying to start a war here but an engineering title holds more than a CompSci degree, no questions asked. Sorry to say it but it just does.

Look at the following breakdown of courses that Auburn University has for both the CompSci and SoftwareEng degree. Not much difference in the two as you can see.

CompSci: http://eng.auburn.edu//files/file320.pdf
SoftwareEng: http://eng.auburn.edu//files/file321.pdf

I don't agree with this sentiment as it's written. Computer Science is taken seriously depending on the school. Computer Science from a respected school is taken much more seriously depending on the school that teaches it. I'm assuming that you go/went to Auburn. Indirectly, you hit on something that will get you preference.

You will get more preference because you went to a respected SEC engineering school. Alabama, Auburn, and Mississippi State (my alma mater) are VERY good engineering schools that are respected around the country. I have a friend that works at Intel in Massachusetts. He went to Alabama and got his job because of UA's reputation. And, he works with an office full of Mississippi State alums.

Out here in Colorado, people not only knew of MSU when I was interviewing, but also knew specific professors and accolades that our faculty have received. The same is true of Auburn. There are at least four Auburn grads on my team alone and a whole group of Alabama/Auburn/MSU alums on our campus alone (Longmont, CO). There's enough that we get groups together during football season. You should feel fortunate that you're going to an SEC engineering school, not just what your particular degree program is.

People on these boards often say "huh?!? who's (MSU/Alabama/Auburn)" but trust me, the senior engineers working out in industry (the ones who do the hiring) definitely know who these schools are and their reputations.
 
These are all really good comments but I personally would stick with something that has engineering stuck at the end of it. I am also willing to bet if two people are going out to get a job just coming out of college with a bachelor in their respective fields with everything else the same (SE or CS) the person with the engineering degree will get the job 9 out of 10 times over the other person. I am not trying to start a war here but an engineering title holds more than a CompSci degree, no questions asked. Sorry to say it but it just does.

not to sound rude, but it doesn't sound as though you've really looked at the job market. either we live in VERY different parts of the world, or you're just making something up to try to sound intelligent.

to say that an engineer's degree in general weighs more than a computer scientist's degree is a flat out falsehood. in circuit design, EE or CE definitely has a big edge. in hardware design, EE and CE definitely have the edge. in power grid designs, CE and EE definitely have the edge. in a bunch of other situations, these engineers definitely have the edge.

in the construction/implementation of routing protocols, who has the edge? in the implementation of a new operating system, who has the edge? in construction of service-based systems, who has the edge? in implementing parallel code on supercomputers, who has the edge? in application development, who has the edge? in construction and implementation of cryptographic algorithms, who has the edge? in implementing TCP/IP (or any other communications protocol) on a new architecture or other platform, who has the edge? in implementing a faster method of information retrieval in a relational database, who has the edge? in adding intelligent agents to current software or implementing new software with intelligent features, who has the edge? in construction and implementation of new internet search algorithms, who has the edge?

how about this one: who has the edge in VLSI design? i dunno. very few CS/SE types can create an algorithm sophisticated enough to improve even slightly on the state of the art. even fewer CE/EE types know how to do this. however, while very few CE/EE types known how to make all the stuff work together at a physical level, even fewer CS/SE types can do the same.

in most instances, the one does the work the other can't usually do efficiently. additionally, if you browse the bls.gov website, you notice that in the US both occupations make about the same for the same experience levels.

as you can see, you made a rather absurd claim.

edit: if someone is a CE major, he/she BETTER love circuit design and integration, because that's what HE/SHE will be doing.... so what's wrong with that?

edit 2: after reviewing your post without blood in my eyes, it seems as though you are comparing SE with CS, stating that one gets hired faster than the other... this also is rather incorrect, as learning how to construct software is just a matter of learning how to break the new system down into manageable pieces, create a standard to follow, and following the standard. any CS worth his salt can do this intuitively. the reverse is not necessarily true of SE because these people slow development their technical skills at some point in favor of learning the current process of software engineering and where its downfalls are.

in my own opinion, while basically the same person can fulfill either job (provided they are competent), they are different jobs. SE has its place, CS has its place. the one can not replace the other; we need both. one does not hold more water than the other.
 
not to sound rude, but it doesn't sound as though you've really looked at the job market. either we live in VERY different parts of the world, or you're just making something up to try to sound intelligent.

to say that an engineer's degree in general weighs more than a computer scientist's degree is a flat out falsehood. in circuit design, EE or CE definitely has a big edge. in hardware design, EE and CE definitely have the edge. in power grid designs, CE and EE definitely have the edge. in a bunch of other situations, these engineers definitely have the edge.

in the construction/implementation of routing protocols, who has the edge? in the implementation of a new operating system, who has the edge? in construction of service-based systems, who has the edge? in implementing parallel code on supercomputers, who has the edge? in application development, who has the edge? in construction and implementation of cryptographic algorithms, who has the edge? in implementing TCP/IP (or any other communications protocol) on a new architecture or other platform, who has the edge? in implementing a faster method of information retrieval in a relational database, who has the edge? in adding intelligent agents to current software or implementing new software with intelligent features, who has the edge? in construction and implementation of new internet search algorithms, who has the edge?

how about this one: who has the edge in VLSI design? i dunno. very few CS/SE types can create an algorithm sophisticated enough to improve even slightly on the state of the art. even fewer CE/EE types know how to do this. however, while very few CE/EE types known how to make all the stuff work together at a physical level, even fewer CS/SE types can do the same.

in most instances, the one does the work the other can't usually do efficiently. additionally, if you browse the bls.gov website, you notice that in the US both occupations make about the same for the same experience levels.

as you can see, you made a rather absurd claim.

edit: if someone is a CE major, he/she BETTER love circuit design and integration, because that's what HE/SHE will be doing.... so what's wrong with that?

edit 2: after reviewing your post without blood in my eyes, it seems as though you are comparing SE with CS, stating that one gets hired faster than the other... this also is rather incorrect, as learning how to construct software is just a matter of learning how to break the new system down into manageable pieces, create a standard to follow, and following the standard. any CS worth his salt can do this intuitively. the reverse is not necessarily true of SE because these people slow development their technical skills at some point in favor of learning the current process of software engineering and where its downfalls are.

in my own opinion, while basically the same person can fulfill either job (provided they are competent), they are different jobs. SE has its place, CS has its place. the one can not replace the other; we need both. one does not hold more water than the other.

Sorry if I come accross crude. My friends that are getting a CS vs SE coming straight out of college the ones with a SE degree got better offers and quicker offers. That is all I was getting at.

Maybe they diversify a lot more once you hit grad school but as I stated before the two are essentially the same degree.
 
Maybe they diversify a lot more once you hit grad school but as I stated before the two are essentially the same degree.

WHOA! If your experience is that CS == SE, then your school has no clue what its doing. CS != SE by any stretch of the imagination. CS is being a code monkey and learning languages and algorithms. SE is project planning, project execution, and resource management. They are two totally different approaches.

Take a look at the distinct curriculum differences
CS: http://www.cse.msstate.edu/UNDERGRADUATE/BSCS.php

SE: http://www.cse.msstate.edu/UNDERGRADUATE/BSSE.php
 
No never said they were exactly the same but as an undergrad and quickly looking over the MSU class outline there arn't but 4 or so classes different which isn't that much different.
 
No never said they were exactly the same but as an undergrad and quickly looking over the MSU class outline there arn't but 4 or so classes different which isn't that much different.

What? There's at least 33 hours worth of differences -- the entire Software Engineering specialty requirement for SE students. And, as the curriculum illustrates, the CS program includes an entire mathematics technical electives section (reinforcing the basis in theory and algorithms) whereas the SE program has specifically prescribed mathematics requirements.
 
i'll echo my earlier sentiments. btw, this all comes from me, a man who is a self-proclaimed software engineer and not a computer scientist.

a good CS should be able to learn the SE process used at a company rather quickly and produce readable, maintainable code with little to no prior knowledge of SE practices. it's just a matter of reading the specifications and adhering to them. with 2 years of on-the-job SE experience, this individual can then probably help design a project after he/she learns the SE process.

the reverse is not true. if you went to school as an SE major and just graduated, you probably can't tell me a whole lot about special graph circumstances where i can use algorithm X to give a solution in polynomial time. you probably can't tell me much about how to write a kernel module to be used a driver for our new widget. your probably can't tell me much about a whole lot of things that are very important in software development.

as an SE, what you CAN tell me about is what tools are available to ensure software versions don't overwrite each other, how to coordinate people on a project, the process of creating code that is maintainable for years to come, etc. this is still a VERY important job. EXTREMELY important.

however, i do not think that it warrants skipping out on 15 credits of building-blocks type of CS courses at the undergrad level (and let's face it: at most universities, undergrad CS courses are all building-blocks courses) because it's relatively difficult to pick this information up on your own and relatively easy to pick up SE material on your own.

in fact, SE research is currently relying a LOT on the CS "code monkey" type of people to produce intelligent agents to analyze and make SE decisions because the SE people in general have no idea how to do such a thing. research the work of an individual from Australia named tim menzies and be amazed at some of the things his research is discovering.
 
I'd like to go on record as stating that while we've had a lot of different perspectives in this thread (and we've not always all agreed on things), we've kept it civil and I think that this thread might need to be stickied eventually as a resource for students.
 
I don't think this is giving CE a fair evaluation. It's apples and oranges. Perhaps if you compared writing a ray-tracer to creating a smart car alarm system with voice and facial recognition or an elevator system that senses its load and adjusts its speed accordingly, then I believe it would be a fair comparison.
You're right. But I was also looking back at my history with learning CS related topics. I never really had the feeling of "Oh crap, get me out of here, this isn't interesting in the least!". Come to think of it, I never really had that feeling in any of the core engineering classes either (math, physics, statics, dynamics). Maybe I should have explored engineering degrees other than CE. Hmmm.

This later quote rang true with me:
edit: if someone is a CE major, he/she BETTER love circuit design and integration, because that's what HE/SHE will be doing.... so what's wrong with that?

I guess I realized that I didn't want to be doing that for the conceivable future.
 
You're right. But I was also looking back at my history with learning CS related topics. I never really had the feeling of "Oh crap, get me out of here, this isn't interesting in the least!". Come to think of it, I never really had that feeling in any of the core engineering classes either (math, physics, statics, dynamics). Maybe I should have explored engineering degrees other than CE. Hmmm.

This later quote rang true with me:


I guess I realized that I didn't want to be doing that for the conceivable future.

Perhaps it is too late, but if you enjoyed statics and dynamics, you might have really loved one of the mechanical engineering fields like aerospace. Extra ++ if you really enjoyed compressible flow and fluid mechanics.
 
Perhaps it is too late, but if you enjoyed statics and dynamics, you might have really loved one of the mechanical engineering fields like aerospace. Extra ++ if you really enjoyed compressible flow and fluid mechanics.

Well, the future is a vast and uncharted place. (ignore my sig for the moment, I'm feeling optimistic today, for a change)
 
A computer scientists primary tool is the algorithm, not code. A CS degree is essentially a specialized math degree, we just happen to learn to code because it is an efficient way to express our thoughts.

A Software Engineer's primary tool is software. They are specialized in putting pieces together to create the end product.

As for your initial question, and wanting to be a game designer/programmer, those are two entirely different disciplines.

Game designers are crafting the storytelling aspect of the game, figuring out where and how you want the players to experience the world. For that I would focus on literature, psychology, sociology, art, with a bit of business and some software engineering in thrown in.

Game developers on the other hand are responsible for actually implementing the designers vision. For that I would focus on CS, math, physics, some business, and some art.
 
imo "software engineering" is a subset of computer science to specialize in like databases

at my university computer engineering is simply a mix between CS and EE. Its clearly tougher than CS as they have to take the core upper division CS courses, except for computer theory and compilers
 
Back
Top