Live data from Hacker News

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

nerdcollider.com

31–40 of 48 posts

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

#31
post #29

Having done degrees in both electrical engineering and computer science, it seems to me that EE schools on the whole manage the theory vs. practice a bit better than CS schools do. Just as in CS/SE, EE has a wide range of topics, from the very practical ("how do we organize a team to build this") to the very theoretical (quantum mechanics, nonlinear control systems, signal processing). Yet somehow, no one in the EE i…

I like the idea of diversifying, but CS borders a lot of disciplines, some of which it's either gradually annexing or gradually being annexed by (sometimes it's not clear which is which ;-)). I'm not sure it's possible to fit everything into 4 years, at least as all mandatory components, unless someone decides by fiat where the boundaries of CS are.

For example, as someone interested in going into AI research, the main things I wanted to add onto a PLs/theory/algorithms CS core when I was an undergrad were statistics and philosophy, plus a bit of (computational) linguistics and cognitive science. A rigorous grounding in advanced statistics, in particular, is becoming indispensable in some areas, especially as portions of the statistics field are actually migrating into CS departments (machine-learning and data-mining type stuff).

Within the confines of a 4-year program, I took basically no software engineering, and relatively little low-level systems/compilers/architecture stuff, to free up room for that other stuff. Other people chose differently, but I don't see any reasonable way to fit in all the relevant stuff in 4 years (for example, the people who took all the architecture/OS/systems classes typically didn't take more than one intro statistics course).

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

#32
post #29

Having done degrees in both electrical engineering and computer science, it seems to me that EE schools on the whole manage the theory vs. practice a bit better than CS schools do. Just as in CS/SE, EE has a wide range of topics, from the very practical ("how do we organize a team to build this") to the very theoretical (quantum mechanics, nonlinear control systems, signal processing). Yet somehow, no one in the EE i…

I like the idea of diversifying, but CS borders a lot of disciplines, some of which it's either gradually annexing or gradually being annexed by (sometimes it's not clear which is which ;-)). I'm not sure it's possible to fit everything into 4 years, at least as all mandatory components, unless someone decides by fiat where the boundaries of CS are. For example, as someone interested in going into AI research, the ma…

It's fair to observe that there is a whole lot to learn. I'm not sure the extent to which you're disagreeing with me, but I'll submit that if it's not possible to learn it all in 4 years, adding a SE major won't magically make it possible.

I doubt any engineer or scientist with a remotely interesting job is in a position where they knew everything they'd ever need coming out of college. In the end, the most important experience you should get out of college is how to teach yourself more stuff later.

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

#33
post #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 l…

I'm studying at UT Austin, and I love all the theory work. It's challenging and makes my brain hurts, but the insights you get out of all this work changes the way you see programming and software engineering. You start yearning for beauty and elegancy, much like the algorithms we study. You find that you start thinking like a theorist in your every-day coding: what am I trying to solve? What are the constraints? How…

Agreed. Hence my transfer ;) But I do respect what TAMU is attempting.

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

#34

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…

I've replied to similar sentiments on HN a few times:

http://news.ycombinator.com/item?id=968013

http://news.ycombinator.com/item?id=1131606

http://news.ycombinator.com/item?id=690798

People who do systems research don't do much with theory and formalisms, but they are decidedly doing computer science.

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

#35

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 guess it's the same as in Argentina.

Here, you can choose either Computer Science at the exact sciences university or Informatic/Systems Engineering at the engineering university.

Both offer courses on algorithms, discrete mathemathics, and such. The thing is that to earn an engineering degree, you must sit for advanced physics, chemistry, economics and other complementary studies.

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

#36

This is actually an ongoing discussion. Weigh in and vote here: http://nerdcollider.com/challenges/3/

Good call. One of commenters is Tony Wasserman at CMU who is one of the fathers of Software Engineering who tells why he worked to separate SW from CS.

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

#37
In some state schools it might not even be possible. I remember discussing this with one of my profs who told me that he was prohibited by state law from using the word "engineering" in a course title or description, as the charter for engineering curricula was with a different state university. The research school had the CS department, the engineering school had the SE program.

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

#38
I did a course that was mostly CS with some SE (SWE) modules. In the first year the SE modules were about team work, version control, development methologies, requirements analysis and so forth.

In the second year the SE modules were mostly a practical team project, collaborating with another remote team from another University, designing and developing PDA and desktop geocaching software, for a client (representatives from IBM).

I strongly believe that for doing this course/project we were much better suited to industry, having developed soft skills that could otherwise go a miss from an academic course.

Alongside this we also has the theoretical CS modules, so it seemed like a good mix, and you could specialise however you liked in your final year.

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

#39
I think the biggest problem with many CS schools is a more a marketing / message one than anything else.

Before you get there, on their websites, and on arrival they should explain.

"This experience is all about the meta. Not learning but how you could design itself. By the time you are done whatever you haven't learned seeking to complete your education here will be exponentially easier to learn because of what you spent your time here learning.

How to learn. Better."

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

#40
post #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 l…

I always find it interesting how two people can have completely different experiences from the same school. I earned my CS degree at TAMU, and I only had one real SE class. It was aptly named "Software Engineering". Everything else was still theory, Algorithms, Formal Languages and Automata, AI, Programming Languages, etc. I graduated in 02, so not sure how things have changed since then. I did notice they changed the Dept name.

That all said, I do believe some software engineering concepts should be taught as part of the CS degree. If you do go work for a large engineering company (Boeing for me), then being exposed to different development processes is helpful. However I can't say this enough, at least here at a large company, you can see a difference between someone with a solid understanding of cs theory and someone that does not.

Post reply on HN