Live data from Hacker News

Should top CS schools offer Software Engineering as a separate major?

nerdcollider.com

11–20 of 48 posts

Re: Should top CS schools offer Software Engineering as a separate major?

#11
In all honesty (said as a Canadian with a Computer Engineering degree -- I should note we take the term engineering a bit more serious here in Canada, we don't allow people with CS degrees for instance to call them selves engineers) I don't see why there has to be software engineering as a separate program and not just a specialization of CMPE.

The SWE program in my school was basically CMPE minus all the hard EE courses. And while I can see there being an argument for not requiring SWE students to know advanced fields / waves etc. It's been my experience anyway that SWE students seem to not get enough of the common engineering knowledge that the other departments share. (again in Canada)

Anyway, just my 2 cents.

Re: Should top CS schools offer Software Engineering as a separate major?

#12
post #6

UIUC already offers a bunch of graduate level courses in SE as part of the CSE program. If you take the courses, does it matter that the major is something else? :)

Those courses were basically a senior design project with some added software engineering topics put on top(the year I took it was extreme programming and something else I don't remember).

In all honesty, the actual coursework was pretty useless. I don't think that it's really possible to teach a lot of true SE concepts in a classroom. They're social paradigms that are constantly in flux, and very difficult to effectively teach.

The project itself was more helpful to me because of the group nature of the work, which meant that we had to work out scheduling, progress metrics, etc. Again, this is more of a social system than academic work.

Re: Should top CS schools offer Software Engineering as a separate major?

#13
post #7

Carnegie Mellon University offers a Software Engineering minor as part of their Bachelors in CS undergraduate program. As for the Master's degree, they already have one. I think students have enough freedom to mold their own strengths and passions into the CS program here.

When I was there, there was also the Information and Decision Sciences program. It was a little CS, a little economics, a dash of social science, and a pinch of management. There was a two semester final year course that students had to take. In this course, project teams had to design and implement a software system for a local business or organization. While I had my own concerns about the formal curriculum, I alwa…

My alma mater has the same type of program [1]. It's a mix of CS, business, communications and finance. It's also a liberal arts school so you end up taking another ~60 credits outside of your major. You take the classes plus 3 semesters of the capstone project. For the projects, you start as a "grunt" and work your way into complete control of a project.

I was a Math/CS graduate, but ended up being part of the pilot for the program. I spent a semester plus a summer internship working for a local company dealing with integrating GPS tracking of public transportation systems. It was a cool hands on experience for what was then (2000) an emerging tech area.

[1] http://www.juniata.edu/departments/itcs/i4i.html

Re: Should top CS schools offer Software Engineering as a separate major?

#14
I had a bunch of thoughts about architects vs home builders, and nurses / doctors, but when I thought about it, I realized that I can't think of any directly analogous splits to the CS / Engineering ideas here in other disciplines.

Well, one does come to mind. I've been told to get an Architect's stamp in Germany you need to have done a significant body of work in an area related to architecture, say bricklaying, or some other such trade. If this is true, I think this would show a similar sensibility as I hold, and the comment at the link mentions -- academic pursuit of algorithms is aimed at and motivated by totally different things than software engineers who need to push and release code NOW.

It would be nice to have them talk more, though. If I were king of CS programs worldwide, I think I'd implement a multi-year practicum requirement as the master's equivalent -- no serious academic work can be taken without going out and building some real world software in your area(s) of interest.

Then you can go play with algorithms and stuff, THEN you can go back out as a PhD/Certified Software Engineer and crush everyone you see..

Re: Should top CS schools offer Software Engineering as a separate major?

#15
No. While there's lot of value of offering more courses that teach the key aspects of software engineering, I can't see it ever being better than the experience at an internship at a real company, which an any serious industry-bound CS student at a top school should be able to find.

Re: Should top CS schools offer Software Engineering as a separate major?

#16

In all honesty (said as a Canadian with a Computer Engineering degree -- I should note we take the term engineering a bit more serious here in Canada, we don't allow people with CS degrees for instance to call them selves engineers) I don't see why there has to be software engineering as a separate program and not just a specialization of CMPE. The SWE program in my school was basically CMPE minus all the hard EE cou…

that divide works both ways. for example, most of the cmpe students i know weren't exactly well versed in the innards of a compiler.

Re: Should top CS schools offer Software Engineering as a separate major?

#17

I definitely think this is worth trying. I love computer science, but I think it is a fact that much (most?) of computer science is not very useful for most programmers. Of course, much of computer science is not very useful for computer scientists either! Today if I want to study programming languages, I might need to take a qualifying exam in machine learning -- this particular combination of subjects surely is jus…

> I definitely think this is worth trying. I love computer science, but I think it is a fact that much (most?) of computer science is not very useful for most programmers.

Take this with a grain of salt because I do not have a successful business or a rockstar CV, but I would argue that studying CS is of critical importance to writing good software. One does not need music theory to be a great musician but I think you will find that many great musicians with "no training" have some isomorphic model in their head with different terminology that they developed independently. Same applies to any engineering discipline.

Your application constitutes data flowing through various functions, processes, etc, and the algorithm you write to get those data from point A to point B and apply intermediate transformations can be represented, studied, and optimized mathematically. You may not be consciously doing it, but you are doing just that. Studying theory explicitly allows for unambiguous discussion and refinement of generalized concepts among different people, and an absolute framework on which to analyze and improve one's own understanding.

Or did I miss the point? I do find this debate engaging. And, yes, if you are studying to become a programmer or developer you may not need to dive into the proofs of why, but there should still be study of the what.

Re: Should top CS schools offer Software Engineering as a separate major?

#18
Is good software engineering something you can truly learn in the classroom, or is it something that's emergent to applying good learning techniques to real life experiences (kind of like being a journeyman)? I think a good Software Engineering degree would be one that somebody who has a good amount of real life programming experience would return to get to signify a level of "mastery" in the field. My two cents at least. I don't want to act like I know a ton about the trades, but I'd like to think that there is some similarity in mastery of Software Engineering to being a master craftsman in both learnedness and years of practice.

Re: Should top CS schools offer Software Engineering as a separate major?

#19

In all honesty (said as a Canadian with a Computer Engineering degree -- I should note we take the term engineering a bit more serious here in Canada, we don't allow people with CS degrees for instance to call them selves engineers) I don't see why there has to be software engineering as a separate program and not just a specialization of CMPE. The SWE program in my school was basically CMPE minus all the hard EE cou…

I also think it sort of waters down Computer Science to wedge it into engineering and treat it as such. Ultimately it's more about theory, formalisms, and mathematical/logical foundations than it is about "making it go". I think when we start treating a CS program like it's a EE/ECE program, then the CS program is impeded by getting too caught up in the nitty gritty. Don't get me wrong, I think the hardware portions are very important, but I like writing compilers. I'll learn as much about a system as I need to get a good compiler going, but the physical nature of a system generally are of no interest to me. They should be somebody else's job (who enjoys such things and derives pleasure in doing them [more power to them for it ;-)]).

Re: Should top CS schools offer Software Engineering as a separate major?

#20
I am continually astounded by the things my CS degree prepared me for. The breadth that my CS program gave me (UIUC) is very good: rigorous theory classes, introductory classes to systems, security, compilers and languages, numerical analysis, RDBMS systems, information retrieval, the list could go on forever.

I don't have a super-deep understanding of all these fields (who could?) but it's enough to give me quite an advantage over some of my colleagues. And I always thought they were worthless at the time.

Post reply on HN