Live data from Hacker News

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

nerdcollider.com

1–10 of 48 posts

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

#3
I have attended both UT Austin and Texas A&M, who both proudly and decidedly adhere to opposing views.

UT places CS under the Natural Sciences, and indeed I have spent the lion's share of my 3 years here studying algorithms, discrete math, and numerous levels of predicate logic.

At A&M, however, the focus was on engineering robust software, using theory where applicable (straight from Dr Stroustrup's mouth during a lecture, actually, and his views were widely accepted among the faculty I spoke with). CS is under the Engineering School there, and they felt that was where it belongs.

I think part of the issues is semantics. A&M CS is not known as a prestigious department, but their engineering college as a whole is; they might see it as an admission of inferiority to be "merely" the practical side of things. However, what they do is not inferior (even if it's not what I want to study): it's the other side of the coin, but they want the department to be just as well known so they use an improper term to catch attention. I think they have a great opportunity here to differentiate their offerings and start the trend if they would just call it the Department of Software Engineering to complement their well-known Petroleum, Electrical, Computer, Nuclear, Mechanical, Civic, etc offerings.

[edit: apologies for poor articulation and verbosity. resolved wontfix].

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

#5
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.

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

#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 always thought this capstone project was very good experience.

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

#8
It seems really difficult to offer a compelling software engineering program. Computer Science has a lot of history and theory that is well suited to classrooms and professors. A software engineering program would have to be constantly (at least each semester) evolving to explore all paths for designing good software. In fact, we offer a Software Engineering degree at San Jose State University, in Silicon Valley, we should have an unfair advantage in that field. As a CS/Math major I am required to take a few SE courses. All of them have been 10-15 years dated in both execution and their definition of good software and what constitutes solid design. I'm so sick of these SE classes that I'm tempted to drop out or transfer. Engineering (not just software) is mastery of a craft, it isn't something you can learn by passing classes and getting a degree. You need to get your hands dirty, something other engineering disciplines focus on highly. For an SE program to be effective there should be one class: Software Engineering 1, the curriculum should consist of working with your peers to build awesome software. You should have to take it at least six times. The instructor can mentor the veterans and the veterans can mentor the freshmen The masterclass is to start a project that you spin up into a publicly available piece of software, then watch how you're design scales and what needs to change. Anything else is history and lies.

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

#9
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 just a historical accident. I think CS as a whole might be better off by splintering a bit. Alan Kay observed [http://markmail.org/message/vsnhl7l6igpess65] that UCLA has 1 computer science department but 25 biology departments! CMU has one "school of computer science", which includes the department of computer science, institute for software research (SE), machine learning department, etc -- that seems really nice!

If degrees in Software Engineering do become more popular, I think many students who want to become programmers would still choose a Computer Science degree instead, because the two fields tend to stress different aspects of ideal software development: mathematical elegance versus well-managed teamwork. And there are still more ideas: see Richard Gabriel's proposal Master of Fine Arts in Software [http://www.dreamsongs.com/Files/MFASoftware.pdf], which seeks to produce "master hackers" much like "master painters"...

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

#10
Yes, most people who take CS probably mean to take something more like Software Engineering (SWE) (actually they probably mean to take something like Programming, but that's not generally a field of study, maybe I.T. or I.S. is closish to what most people want to take, but the prestige just isn't there)

CS and SWE are really quite different disciplines, as much as say Math is from Physics...perhaps a better analogy is Physics and Civil Engineering.

Post reply on HN