software engineering by way of computer science

<p>Hi<br>
I would like to go into software engineering the only problem is that my present school OSU doesn't have a software engineering program. However I've been told that it might be best to get a BS in computer science since most BS level computer science graduates find themselves doing software engineering work after college. After that if I really wanted a degree in software engineering I could complete a masters in software engineering from another school. The advantages of this plan are that I can finish the BS in CS in 2 more yrs then start a masters and finish in the following 2 yrs. While if a transfer I will inevitably end up trying to catch up with the correct sequence of classes and end up graduating with the BS in 3 yrs. More than the graduating time table though I was wondering how how having a BS in computer science but a masters in software engineering might effect my career?</p>

<p>It’s a good plan.</p>

<p>There’s no practical difference between undergraduate degrees in the two… well, that may not be fair, but you will have no trouble doing Soft.Eng. work with a BS in CS, and you will have no trouble getting into Soft.Eng. graduate programs with a BS in CS… I can basically guarantee it.</p>

<p>Software engineering is a METHODOLOGY. It is just a disciplined approach to developing software. You do NOT need to major in software engineering to work as a software engineer. A BSCS degree will do just fine.</p>

<p>Now let me get on my soapbox about software engineering. You can learn the basic principles of software engineering with ONE college course in the area. You do NOT need separate courses for each of the software engineering phases: Requirements, Design, Development, Test & Verification, Implementation/Deployment and Maintenance. Also, each employer has their own tailored SoftE methodology.</p>

<p><strong><em>Steps off soapbox</em></strong></p>

<p>I work in a large software engineering company. I’d guess that about 90% of the engineers have CS degrees.</p>

<p>^ Man GlobalTraveler it’s like you know exactly what I’m thinking and say the opposite thing.</p>

<p>[CLARIFICATION: disagree categorically]</p>

<p>^^^^Though I enjoy most of your posts Auburn, I think you are way more in love with the theoretical underpinnings of CS than anyone else. To most Americans these days they want to learn how to solve computer problems that will enable them to receive a decent paycheck. Though I love your passion for the field, I think sometimes you need to realize that you simply have a greater passion than most. I would be lying if I said I enjoyed the theory in my CS classes, I hate to say it, but I cannot change it.</p>

<p>Well, there are places where you can make a pretty good living with a theoretical background but there are many more jobs where you get paid for hands-on building of products. Even Microsoft has research labs.</p>

<p>My son absolutely loves the theoretical stuff over the technical courses but he’s in a small minority at his school. Most of his classmates are there to get marketable job skills and there’s nothing wrong with that.</p>

<p>BHolc86:</p>

<p>What an interesting post. I would definitely agree that I enjoy the theoretical underpinnings more than anybody else I know, at least.</p>

<p>Now, If I ever make it seem like I think that practical applications of CS are useless - Software Engineering, IT, analysts, etc. - that was not my intention. I think these are all important and worthwhile endeavors… just like Physics and Mechanical Engineering are.</p>

<p>Furthermore, I don’t necessarily mean to demean the study of these things, per se. My main thing is that there should be a college major which does give proper treatment to the theoretical underpinnings. From what I’ve experienced, mathematics departments - well, let me clarify: my mathematics departments, and several I’ve heard of and looked at - are not so interested in theoretical computer science. They don’t know much about it, if anything, and don’t seem to care to know. Nor should they, I suppose.</p>

<p>The next logical choice would be computer science, the major. Thankfully, at least at my institution, there is a smattering of theory courses required by the major, and some theory is used in other courses as well. However, the major “CS” attracts a lot of the people who - like you say - are not so interested in the theory. This is not a great solution since students are studying things they don’t need or want (theory), and for those who do want it, the courses are necessarily less beneficial than they might be otherwise (I’m sure we’ve all had the experience of taking two similar courses, one with a general audience, and one with only very interested people). The difference is real…</p>

<p>My way of looking at it is this: educate students about what the majors should be - not necessarily what they are right now, for reasons I have described - and hopefully the students will go to the right major. CS is lucky in this respect because there are a variety of majors which are similar but have different foci or emphases: computer engineering, software engineering, information technology, mathematics, etc.</p>

<p>I honestly see no reason why CS should be the general-purpose computer major. Perhaps 30 years ago that would have been appropriate, but that it is now is certainly debatable, and that it will be in the future is unlikely. My only hope is that some people who read my posts who came here thinking “I will major in CS because I want to work with computers” will realize there are a lot of ways that one can work with computers, and CS isn’t necessarily the best one. This benefits that student, and other students who read my posts and get excited about the master theorem and context sensitivity.</p>

<p>^^^^ I would say that was a respectable adequate answer to my post. I hope your aware that I in no way was trying to demean you or your passion for the subject. Furthermore, I completely agree with you in that CS may not be the best major to work with computers, however there are not a whole lot of alternatives. </p>

<pre><code> I am getting a B.B.A. in Information Systems and then moving on to a M.S. in Software Engineering, which in a sense is an alternative to a B.S. in CS, however I am taking about half the undergrad CS courses as pre-reqs to grad school.

In conclusion, there should be an applied degree and a theoretical degree with enough similarities in both for students to get a job from either track.
</code></pre>

<p>But…</p>

<p>The topic was about Software Engineering. I have looked at Masters programs in Software Engineering that actually have 5 or 6 courses for each phase of Software Engineering. I just do NOT think that a student needs a 15-week semester course in Testing or Maintenance. I may (just may) barely buy into separate Requirements, Design and Development courses but nowadays with methodologies like Agile/Scrum, I do not know if those are needed. Those 15 to 18 credits could be used taking graduate courses in computer science…theoretical or applied.</p>

<p>Hey thanks everyone for your replies. I definitely think CS will be a great substitute to software engineering BS. However I still think I still might do the masters SE program because the CS degree alone might limit my career growth.</p>

<p><strong><em>mumbling</em></strong></p>

<p>I would use a systems engineering approach to software development and use the “readiness reviews” as the last article of each phase.</p>

<p><strong><em>mumbling done</em></strong></p>