Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Difference between Software Engineering and Computer Science?

  1. Nov 8, 2006 #1
    hello everyone.

    I'm coming to realize I'm not enjoying Computer Science, but I do enjoy programming and that is what I want to do once I graduate. I've had hardly any classes on Software Devlopment or programming i'm a Jr now and have only taken intro to proramming and intermediate programming, and yet tons and tons of math.

    Coming into this major I thought Computer Science was the same as Software Engineering but now i'm realizing they arn't. I also thought the major would really hit you hard in programming which it isn't.

    I checked at the university in canada, waterloo and they actually fall into 2 different departments entirely. It says Computer Science is in a Math department, while SE is in Engineering. I don't like math, so why am I in a math intensive major? I've gotten all A's in all my math classes, Calc I-3, Diff EQ, matrices, etc but I don't enjoy doing it.

    I realize Software Engineering would also have to do math, but i'm thinking maybe it wouled offer more programming and more classes on actual Software Devlopment, Methods, etc, rather than just giving me a few programming courses and the rest math.

    My college doesn't offer Software Engineering and I am a Jr. so switching colleges may seem pretty drastic but if i graduate as a CS, would I be missing out on alot if I didn't switch to become a SE? I also heard alot of the SE majors arn't even accredited majors, meaning they havn't been around long enough to see if it even passes as a real major.

    What I want to do with my life after graduation is Software Devlopment of some kind, not sure what, but in that field and later I would like to get into more business.

    Any info would be great!
    Last edited: Nov 8, 2006
  2. jcsd
  3. Nov 8, 2006 #2


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Honestly, if you "don't like math," or cannot at least be bothered to survive a couple of years of it, you shouldn't even consider a technical profession at all. Go into business or real estate or something.

    - Warren
  4. Nov 8, 2006 #3
    Well i'm already done with 90% of the math, all I need is 2 more stat classes then i'm done. So i've already surived the math so im' not going to change that now, and I can do the math i'm saying I just don't like it.

    It just seems like Software Engineering is more like applying the knowledge to design the best software possible and computer science seems like its all math and programming is just secondary.

    On the wiki website they said,
    Theoretical things and math is what I don't like, but it seems Software Engineering doesn't focus on that but is it true?

    Maybe i'll find out what I really want to do once I get an internship but I was just wondering if anyone knows any Software Engineering students or is one, and can tell me why they picked it over Computer Science.

    Last edited: Nov 8, 2006
  5. Nov 9, 2006 #4
    Well, there is always a lot of overlap, as that quote indicates. For example, if you are going into software engineering, you'll almost certainly take a course in compiler design, which should have a decent amount of formal language theory in it. Every software engineer should know some complexity theory as well... at least enough to recognize when an algorithm is reasonably efficient, and when it isn't.

    Most of the people I knew when I was in grad school for computer science were good programmers. But I do say *most*... some couldn't really program much at all.
  6. Nov 9, 2006 #5
    Thanks, I think I just need to get out of school and get in the market and from there I can branch off into things I'm interested in regardless if i'm a SE or a CS.
  7. Nov 9, 2006 #6


    User Avatar
    Science Advisor

    It's my opinion that if you do a pure software engineering degree you will miss out on a lot of interesting things. I mean, if you just want to program you can do that with an associate's degree. If you're going to work as a programmer then you'll have your whole life to get experience with lots of programming. You want to get as much theory as you can while you're still doing your degree.

    Anyway if you're mostly done with the math, and that's what you dislike, then don't switch. All you'd be saving yourself is 2 courses of math that you don't like, while going through all the hassle of transferring and getting course credits approved and getting a "software engineering" degree? It's just a name. Do the rest of the math (and try to enjoy it), then take the courses you like until you graduate with CS. CS seems more respectable than SE to me, though I guess I have not talked to anyone who is doing an SE degree or seriously looked at any SE programs, so I might be under a misapprehension.
  8. Nov 9, 2006 #7
    Thats a good point Ortho I never thought of it as that. In the market I won't learn any of the theory like you said, only in college so that does make sense. That makes me feel more motivated about the upcoming classes at least and i'm sure it will help me problem solve much better. I think I just need to do outside of class programming projects, I would be if i had more time but break is coming up so it will be a good time to start at least.

    THe job interviewers always ask, well what type of projects have you done and I think to myself, well i havn't programmed in about 2 years...thats what got me about the CS major, they give you 2 courses of programming your freshman year (C++), then sophmore and jr. year nothing at all, but thats when you want to get your internships.

    I believe they are finally changing all the courses to give more programming to the CS majors I think they are adding C systems programming and Java client/server programming which will be nice, now I hope they let me take the new courses.
  9. Nov 9, 2006 #8


    User Avatar
    Homework Helper

    Mr_Coffee, I really think that doing computer science rather than software engineering is a good thing. For you to learn to program will not be difficult, but for a software engineer to make the step up to the math-oriented theory is surely more difficult.

    I am in the position that, with hindsight, I know I should have done computer science rather than the degree I did (Information Technology). Making that step is proving difficult for me because I don't have a foothold, so whatever I read only leaves me with more questions, and the maths seems very divorced from anything I have learned.

    I have considered returning to university but I can't spare the time, so I'm trying to self-study myself (ultimately) into a better position, where I am not merely a software developer with experience, but a developer who also has a solid grasp on philosophy and mathematics and how they impact on software development.

    Perhaps I am more philosophical than most, which might be why when I read about such things as set theory, I find myself asking questions like whether using the powerset axiom to generate all sets is legitimate, how one can justify it as anything more than ad hoc.

    So I really think one should do the more theoretical work at the beginning, then learn to apply it, rather than learning the context within which to apply one's knowledge without knowing what to apply.

    Even though you say you dislike the math work, it sounds like you do well at it, which means it will have an impact on your future work. Stick with it, get it done and I think learning to program will be no great challenge.
  10. Nov 9, 2006 #9
    You haven't had classes like data structures, algorithms, compiler design, etc?
  11. Nov 9, 2006 #10


    User Avatar

    It really depends on the institution - you should check the course syllabus.
  12. Nov 9, 2006 #11
    Maxwell no, not until sr. year

    Thanks for the tips guys
  13. Nov 11, 2006 #12
    Coming into this major I thought Computer Science was the same as Software Engineering but now i'm realizing they arn't. I also thought the major would really hit you hard in programming which it isn't.

    I think it is the same, do not be mistaken for the Computer Engineering. CE is completely different program, it is a Hardware Computer program=engineering.

    Your university does not offer Computer Software program, actually they do, it is Computer Science.

    Let's go back; Computer Engineering is an OLD Electronics Engineering Program, a low voltage studies. While, Software Engineering is Computer Science=Computer Programming if you wish to say so.
  14. Nov 11, 2006 #13
    Are you kidding me? Those classes Maxwell listed are freshman through junior level courses at my school! Aren't, at least data structures and algorithms, pretty close to the basics of comp sci?

    Then again, I have a friend who's going to Princeton, and the curriculum he has to follow is much more lax than what I have to follow at my state university. It's interesting to see his schedule full of almost entirely gen ed classes with the occasional math course, while I'm generally taking 2 to 3 comp sci courses a semester in addition to various math courses and what not. (I think Princeton requires more math classes for the major than mine does though, as mine doesn't require Calc 3 or Differential Equations while I THINK Princeton may)

    And as for an interesting side note, my school's comp sci curriculum offers more courses on computer hardware than the EE curriculum at my school.
  15. Nov 12, 2006 #14
    if its true what you have said about comp sci offering more comp hardware courses than EE then I think all electrical engineering departments should be shut down and all student to run away.
  16. Nov 12, 2006 #15
    It's not many more (like 1 or 2 classes more) and I'm not sure at what level each deals with the material, but my school's EE department is primarily focused with VLSI, power supplies/sources, conservative design, and carbon nanotubes. I can't say how that compares to other schools, but I definitely didn't really see the possibility of getting deep into comp design until grad school had I stuck with the program. I assume the comp sci hardware courses deal more with the theory behind the hardware, they certainly don't deal with design.

    That said, the students pretty much have been running away. In my grade (sophomore year), there's only a bit over 10 left after starting with a class of 30, and that's with a recent infusion this year of about 6 or 7 transfer students. The mechanical, chemical, and civil departments at my school are all in between 20 to 40 students. Most of the EEs have switched out for physics or comp sci (I switched out for both), though of course there were also a few who just up and said "I can't handle this math stuff at all" and dropped out or switched to majors like business and biology. I'm not sure if that kind of drop out rate is typical of EE programs at engineering schools, but I find it rather surprising.

    There also seems to be quite a bit more hostility from the engineering students (as a whole, not just EEs, though the EEs tend to have a better opinion of them) for the EE professors than the professors of other disciplines. In general, they're regarded as poor teachers and not nice guys. I don't have experience with all of them, but of the two I do I'd say one it does hold true, and the other is a very nice guy, though he does put the burden of learning severely on the student. I don't criticize him for that, it actually helped me realize that I don't quite care for circuit design, and would prefer to learn more about the theory behind electronics than just the implementation. It puts a new perspective on a subject when you're almost entirely expected to teach it to yourself, have 10 hours of homework every week and 10 hours of lab work (including the lab write up), and cover about one and a half chapters a week. I've done that kind of time writing programs, and I've done that kind of time just going over various proofs (well, probably not 20 hours in a week there), but I found I enjoyed those whereas I found circuit design to be a boring and barely bearable exercise. So yeah, I wasn't cut out to be an EE, especially when the primary focus of the department is designing new, more efficient power sources; which is definitely outside of my core interests.
  17. Nov 12, 2006 #16


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Sounds like you need a new school, Fox5.

    I have to say, though, that 10 hours of homework a week is completely unexceptional; I'd be surprised if any serious class required less.

    - Warren
  18. Nov 12, 2006 #17
    haha, riiight. At least 10 hours a week for one class is a lot. My professors typically say 2-3 hours for every hour in class (labs are an exception and usually require more time).

    Do you think students that have 5-6 classes (including labs) spend 60 hours studying OUTSIDE of class? A lot of people have part time jobs also and don't have the time to spend 75-80 hours on studying/class.

    Typically, I find it reasonable to spend 6-8 hours a week outside of class on average for a single class (even for many hard classes).

    I've always considered myself a hard studier, but I don't study at least 10 hours a week outside of class, for every class.
    Last edited: Nov 12, 2006
  19. Nov 12, 2006 #18


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Perhaps my perspective is a bit skewed by my graduate classes -- some of which have required 15-18 hours a week from the average student.

    I don't think, in general, that 40+ hours of study and homework time per week is exceptional for an undergraduate with 15 hours of class. It certainly wasn't when I did my undergraduate.

    - Warren
  20. Nov 12, 2006 #19
    Actually Data structures/Algorths is offered next semester ( so that would be jr. level) but there is no programming invovled its just like part 2 of descrete math, but more applied to Computer Science rather than just general number theory.

    But i'm not sure what I would be considered anymore, i'm not going to graduate until 2009, and I started school in 2003, had to stop school in 2004, went back in 2005.

    I'm glad though because now I get to take the modified CS plan. It offers alot more programming coures because alot of students weren't ready their senior year to take Operating Systems or Compiler construction after not programming since Freshman year.
  21. Nov 12, 2006 #20
    The 10 hours a week of homework wasn't so bad, but it was a bit surprising for a 2 credit course. The course material was always very crammed together and the professor's teaching of it wasn't much more than "here's some formulas, now memorize them" without even derivations or conceptual reasons for why they worked as such. The 2 credit course (a quarter course though, so essentially 4 credit workload) was taking up about 20 hours of time per week on its own altogether, while being taken concurrently with 3 other 4 credit classes. It was by no means an impossible workload, nowhere close to it, but it was enough to make many question "could I enjoy doing this type of work for that amount of time for the rest of my life, or even the next few years?" A heavy workload isn't a problem if I enjoy the work I'm doing.

    Of course, now that I switched to a dual major in comp sci and physics, and I'm way behind in the comp sci curriculum, I can probably look forward to heavy workloads for the rest of my undergrad degree, I'm taking 21 credits next semester and will have to credit overload for at least 2 more semesters, in addition to taking summer classes to catch up (in order to catch up on the comp sci curriculum next semester, I'll be falling behind on my math and gen eds); assuming I want to graduate in 4 years.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook