Computer Science vs. Software Engineering 322
theodp writes "Microsoft's promotion of Julie Larson-Green to lead all Windows software and hardware engineering in the wake of Steven Sinofsky's resignation is reopening the question of what is the difference between Computer Science and Software Engineering. According to their bios on Microsoft's website, Sinofsky has a master's degree in computer science from the University of Massachusetts Amherst and an undergraduate degree with honors from Cornell University, while Larson-Green has a master's degree in software engineering from Seattle University and a bachelor's degree in business administration from Western Washington University. A comparison of the curricula at Sinofsky's and Larson-Green's alma maters shows there's a huge difference between UMass's MSCS program and Seattle U's MSE program. So, is one program inherently more compatible with Microsoft's new teamwork mantra?"
Engineer is better fit to lead product development (Score:5, Insightful)
In my opinion CS majors have always been the philosopher kind who like to nit-pick every angle of development. Product development leadership requires someone more practical as an engineer.
as if (Score:5, Insightful)
CS is Math, SE is an application (Score:5, Insightful)
Deja Vu? (Score:5, Insightful)
http://ask.slashdot.org/story/12/11/10/2038211/ask-slashdot-developer-or-software-engineer-can-it-influence-your-work [slashdot.org]
Another gem from timothy, right-supreme glorious editor for life.
Scientists versus Engineers (Score:4, Insightful)
An engineer uses his tools and techniques to solve problems.
A scientist invents new tools and techniques.
If you're just using your knowledge to build things for people, you're an engineer. Unless you're exploring the limits of knowledge, coming up with and testing new ideas, you're not a scientist. And publishing has nothing to do with it, it's a mindset.
Knuth is a scientist - by laying out algorithms and describing their merits and deficiencies, he's essentially publishing a box of tools that others can use. Bill Gates is an engineer - he implemented known algorithms and solutions into a unified package (nothing new there).
Re:It's the difference between science and tech. (Score:3, Insightful)
Computer science, is a ... science
Only in the old sense of the word "science," i.e. "knowledge," but then software engineering would also be "science." CS is not about gathering data then forming a theory; it is about developing logic systems from a set of basic assumptions (e.g. the semantics of your programming language, or of a theoretical computational system like a Turing Machine or Lambda Calculus). That would be mathematics (which at one time would have been called "science" as well). CS is a particular branch of mathematics: the branch that is concerned with computational methods, which was originally developed as part of an attempt to classify all mathematics in terms of symbolic manipulation (but which ultimately led to a proof that not all mathematics is symbolic manipulation).
Re:CS is Math, SE is an application (Score:5, Insightful)
Re:CS is Math, SE is an application (Score:4, Insightful)
So really, for a real-world project, you probably a (good) software engineer.
Software Engineering = the grind (Score:4, Insightful)
Software Engineering, in the sense of the Seattle University program, is the attempt to reduce the production of software to a set of reproducible steps that any monkey (code monkey) could accomplish. You know, you start with your requirements, you proceed to a high-level design using object oriented design techniques, then you make a low level design, and finally, almost as an afterthought, you write code. As anyone who has been on a software project which attempts to follow this particular discipline knows, it doesn't work. It does, however, succeed in its secondary goal of turning an interesting job into a horrible grind.
I suspect working on Windows is already a horrible grind, so it probably won't make much difference.
Re:as if (Score:5, Insightful)
Yep, these are senior executives with a thousand or more people reporting to them who spend most of their time in meetings. The details of computer science or engineering classes they took in college 30 years ago are pretty much irrelevant to their current jobs.
And it's especially true in this case, as personal computers were in their infancy when they were in college, anyway. Trying to compare two programs based on what they are *today* makes no sense when they graduated in the 80's.
What theoretical "nonsense?" (Score:4, Insightful)
Even C++ now has lambda expressions. Introspection was once a theoretical topic (e.g. Turing machines that can read their own description). Type theoretic concepts (type constructors, dependent types, etc.) are probably going to become more mainstream in the near future.
Re:It's the difference between science and tech. (Score:5, Insightful)
I see you don't get the point of college education. It is supposed to stretch your mental capabilities so that when confronted with a new situation, you aren't without the mental faculties to understand and master it. Why should CS majors learn calculus? Because mathematical reasoning is important, and many CS people rub shoulders with engineers. You want to talk to them and be useful, learn your calculus...well.
Higher Education is just that Higher Education. It is not Trade School Skill Boot Camp so you can regurgitate the latest buzzwords MS and the rest of their ilk cram down managers throats.
What Makes a Good Software Engineer? (Score:5, Insightful)
Side note: I'm mystified at how someone with a Bachelor's degree in business can earn an MS in Software Engineering. Yes, management skills have an important role in an SE curriculum, but not to the exclusion of the technical skills.
Re:CS is Math, SE is an application (Score:3, Insightful)
As to N.A. and A.M if you ask most mathematician they will tell you those fields are not really math.
The Curry-Howard link is neither here nor there. Math is applied routinely in many sciences, and is often inspired by reality (more so in the past that recently) yet this has never been central to what math is.