Archived

This topic is now archived and is closed to further replies.

Computer Science Vs. Software Engineering?

This topic is 5576 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

Okay so next year I'll be heading to University and I've noticed two degrees that seem rather similar (or prehapes I'm wrong.) Computer Science and Software Engineering. What I want to know is what's the difference between them. Do people who hold one degree have higher pay or find employment easier or does one teach you fundementally different things then another. I need to know the difference because if I suddenly decide Software Engineering is a better degree then I'll have to slightly ulter my courses I'm taking this year to include Chemistry (and I'll have to aim for slightly higher marks because at the University I'm thinking of going to CompSci needs only a high 80s average while Software Engineering needs an average in the low 90s.) I'd like to get into the computer programming field possibly the game industry but not neccesarily I wouldn't mind working on other projects at non-game software development companies such as Microsoft, etc. So I'd really like to know if there's a huge difference between the two. [edited by - Demonlir on August 27, 2002 12:08:37 AM]

Share this post


Link to post
Share on other sites
Computer science covers a broad range of topics from network protocols, os theory, systems analysis, programming, db''s and administration, architcture and so on. While software enginering will give you a good programming practices, good software design, the system life cycle and so on. The two are related just CS covers more of broad range. Im majoring in Computer Science but going to get a masters in software enginering. Last year yeah!!!!!

Share this post


Link to post
Share on other sites
I believe engineers usually love to apply and use proven theories, while scientiest research and come up with new things.

To summarize, engineers don''t reinvent the wheels, they use it;
scientist sometimes do reinvent the wheels, but not only that, they hope to invent better wheels.

Share this post


Link to post
Share on other sites
If it''s anything like my school, the two undergraduate degrees are almost the same. The won''t really start to diverge until graduate school. My guess is the two majors differ by about 9 credit hours. In computer science you can choose whatever CS classes you want to take (for those 9), and in SE those classes will already be set for you.

So I''d suggest take what sounds interesting to you. If you like UML and the unified process, take SE. If you want to try out some graphics classes, then CS will probably be better.

Your 2 degrees will be pretty much the same when you graduate. No difference in pay, and the job offers will be almost identicle.

The jobs don''t start to differ until you have experience or a master degree.

Graphics, Network, etc. programmers are "typically" not great software engineers, and software engineers are not "typically" great at graphics, networking, etc. But you put the two people together and you can create powerful, maintainable, expandable, software that can make you rich.

After you get your Bachelors, or have some experience you''ll know better where your interests lie. Don''t worry to much about your undergrad, the two degrees will net you the same jobs.


PS: I''m a SE grad student, I love graphics programming, but my talent lies in design. I look at complex systems as a puzzle. I love trying to figure out how stuff will work, and easily move on to version 2.0, without worrying about the details.

I have graphics programmer friends who like pushing triangles around, and could care less how what they create interfaces with the networking, and game code. They just want to focus on how to get things faster and looking better.

So later on in life you''ll decide if you want to focus on detail, or focus on design.

Good luck

Share this post


Link to post
Share on other sites
Well I''m still not 100% sure which one I''d like to take, but thanks for your help I can now see the difference CS focuses more on research and theory and SE is more practical and deals with more of the applications of theories, but hey maybe I should take Grade 12 Chemistry just in case I decide on SE.

Share this post


Link to post
Share on other sites
Thanks people. I''m also in a similar (almost exactly the same as actually) position to Demonlir. In fact, it makes me think that we are both in Sydney/New South Wales . If so, then I''m probably going to do Computer Science at UNSW. But I''m going to the open day for USyd on Saturday to check their courses (if my suspicions are correct, then you are looking at USyd )

Trying is the first step towards failure.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
If you could get into both colleges at the same University, you could dual major (considering that aforementioned difference is 9 credit house or 2 - 3 classes).

Most game companies are looking for CS degrees if that bares any significance (this is gamedev.net)

Share this post


Link to post
Share on other sites
That''s true game companies RIGHT NOW might prefer CS majors.

Eventually though, game companies will probably switch to the "Software house" model. Where you have Software engineers and architects plan/model the software. And you have specialists actually create it.

So I forsee the companies that are going to be more profitable because of cheaper development time (companies making crappy games will still suck regardless of their software developement methods) will be hiring software engineers/architects as well as CS specialists.

But all this is moot, anyways. A bachelors with no experience no matter what the computer major is going to have the same limited skill set. And be treated like a peon accordingly .

So I say take the major that "looks" more interesting to you. It really won''t make much difference at your graduation. It merely starts you on a path. But both paths have the same starting place, so switching between them is not a big deal.

If you really don''t know, take the major that requires classes that can over-ride the other major''s classes. For example, at my school CSE had to take CHM114, while CS required CHM113.

CHM114 could replace CHM113 if I switched to CS.
But CHM113 wouldn''t replace CHM114.

Share this post


Link to post
Share on other sites
On another note, does anyone know the differences between multiple Software Engineering programs in the same school? For instance, Drexel University offers three SE programs: one in their engineering school, one in their science school, and one in their IS school.

|.dev-c++.|.the gimp.|.seti@home.|.try2hack.|.torn.|

Share this post


Link to post
Share on other sites
I would expect:
The engineering degree to focus on practical concerns.
The science degree to focus on theory.
The IS degree to be... lame - it would seem rather odd to have a programming degree under IS, nevermind SE.

The difference between the science & engineering are probably minimal - with the engineering program having electives chosen for you (compared to the science degree which generally have lots of elective credits). The IS degree probably doesn''t require you to take any math above calc 1, and lets you take college physics & chemistry (as opposed to university physics/chemistry).

At the school I went to, the engineering degree focused more on hardware; it was a blend of computer science and electrical engineering (focusing on microprocessors).


... With any technical degree it always seems to come to how much math you know, and how to use it. I always found it easier to find applications for math I know than to figure out the math required for a given application.

Share this post


Link to post
Share on other sites
As far as I''m concerned, take all of them or don''t even go to school. You will never have enough experience when you get out of school anyway and will have to start a lot of it all over.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quote:
Original post by smanches
As far as I''m concerned, take all of them or don''t even go to school. You will never have enough experience when you get out of school anyway and will have to start a lot of it all over.
Is this bitterness from personal experiance?

During school, build yourself a portifolio. Companies say they are looking for something specific, but they will comprimise on certain aspects if the tradeoffs are acceptable or beneficial. Don''t go into a company and tell them you haven''t released 2 titles to meet their requirements for the job. Show them your portfolio and show that you are self motivated, skilled, and somewhat experianced in the field you are applying for. Self motivation is highly rewarded.

Share this post


Link to post
Share on other sites
Kind of. I'm self taught and hate school. School always held me back when it came to learning something because I learn so fast. Although I do have to admit that I had a few little holes in my knowledge.

It really depends on what exactly you want to do when you graduate. If it's games, take CS. If its IT, take the IT route (obviously). If your want to go into enterprise appications, I would say go the SE route.

This is just from my experience working in the different fields. I've worked in all three.

And yes, employers, especially the game industry, want to see examples of what you can do. Make as many applications as you can for the field you want to get into. It doesn't matter how small they are, just write them.

[edited by - smanches on September 1, 2002 9:53:30 AM]

Share this post


Link to post
Share on other sites
Hopefully you will find your school experience more enjoyable than smanches. The goal of school is to teach you to think critically, and learn to learn. Once you stop learning and think you are the best, someone better WILL beat you out. And you''ll become a grumpy 40 year old 9to5er who''s only contribution is testing the thermal load on the company''s air conditioning unit.

I used to work with people who at one time used to be good programmers (back in the 70''s maybe), but they lost interest in learning, and now they are pretty much useless. They know C, and by golly that''s what everybody at the company better use. ("''Cause that''s the way it was and we liked it!" - SNL)

Even if you think you are a better programmer than your teacher, they will push you in directions you wouldn''t normally push yourself, and you''ll be better off for it.


Share this post


Link to post
Share on other sites
Computer Science is the study of computer hardware and software from a theoretical perspective. Scientists try to find out why things are the way they are; they produce detailed studies comparing one method to another; they invent and research new methods.

Software Engineering is the professional construction of software. An engineer knows how to build things that work; he studies the various methods used to build things, so that he might use the proper solution for each problem; he uses the research of the Scientist in order to construct great and wonderful things.

If you want to work professionally as a programmer, study Software Engineering. If you want to stay in academia, or join a research department, study Computer Science.

Game programmers usually wind up doing quite a bit of research in order to do their jobs. You aren''t just churning out old designs, but you don''t sit around contemplating your navel, either. However, due to the relative youth of Software Engineering, any SE degree will most likely include a considerable amount of CS as well.

Personally, I find CS programs to be too academic; programming games means working, not researching or trying numerous different approaches. John Carmack might write eight different rendering engines on the way to his next title, but the rest of us have deadlines.

Finally, I think companies are looking for engineers, not scientists. If you expect to be hired to do research when fresh out of school, you need to put down the crack pipe. College feeds you toy problems. Modern games have 300,000 lines of code or more. With a handful of programmers, that can mean 50,000 lines of code per programmer per year. Those 500-line programming assignments given in school are a joke. The contribution to a 5,000 line senior project that each of four team members make represents one week of work to me. On a good day, I''ll write and debug over a thousand lines of code.

So keep that in mind. The great researchers in the computer game field got there because they wrote and shipped several large, complex titles--not because they got a degree in the right field.

-Anduril

Share this post


Link to post
Share on other sites
I''ve just started the Software Engineering program. In Canada, Software Engineering is a "real" engineering program just like Electrical or Mechanical Engineering. You have to take all the other general engineering courses to get that degree (Maths, physics, chemestry). In SE, you''ll be trained to become a project leader. You''ll have to deal with all the steps of Software Engineering to build software. In CS, you mostly only deal with the programming part. But there are many other steps like planning, testing, implementing, etc. You are not restricted to programming. At my school in SE, we get to work on all kinds of different projects and some of them include graphics programming.

Share this post


Link to post
Share on other sites
how does the process work. does it go from undergraduate >>> bachelors degree >>> or what - i could never work it out and i better start thingking about it because i will be starting university soon. I want to go to durham www.dur.ac.uk still don''t that the question has been answered . . . and like what post graduate + under graduate?

http://www.dur.ac.uk/computer.science/

http://www.dur.ac.uk/computer.science/prospectus/

Share this post


Link to post
Share on other sites