I TA what I believe to be one of the better undergrad Software Engineering courses around, "Fundamentals of Software Engineering." As the undergrad TA (the other is a Ph.D. student with real-life industry experience), I can honestly say that it's a nightmare.
Software Engineering today basically amounts to anecdotes and marketing. I mean, if you look closely enough, there are some interesting theoretical nuggets: static/dynamic analysis, theories of testing, etc. But the reality is, a semester of the fundamentals of software engineering leaves you only slightly more able to choose a good development path than the next guy. In the end, choosing a quality process is a task left up to the reader, which is why we have so many pair and agile programmers (and so many more Duct Tape Programmers), IMHO. Developers either go for what's best marketed or for what's easiest.
At the end of the day, something unifying would be a huge benefit to everyone, but we're a long way off from that. Right now, the question is: Is that even possible?