   Has any institution made a formal distinction between CS and SE?
  Just wondering if those two majors are still blurred or undefined.   
  My university had a "Information Technology" and a "Computer Science" course (Bachelor degree), both of which had a "Software Engineering" major as an option.   ;  The University of Melbourne has for a while. I have a bachelor degree in software engineering; it was a four year engineering degree. The computer science equivalent would have been a three year science degree with an extra honours year. There was an awful lot of blur between the two, but formally I was an engineering student.   ;  My university had separate "software engineering" and "computer science" 4-year undergraduate degree programs.I'm still not entirely sure what the distinction was, other than what courses you took (software engineers took a year of "engineering principles" and were forced to take compiler construction, computer scientists were not forced to take compiler construction and instead took a software engineering course which was basically an intro to working in a team and touched briefly on ethics). There was a ton of overlap except for a few spots here and there.It's a little bit backwards that software engineers were forced to take compiler construction without being required to take any courses that covered finite automata, regular expressions or even what a Turing machine is.Apparently software/computer engineering pushed the CS department to do things "their way" by dint of the fact that they actually had money. But that's your normal faculty rivalry.   ;Quote:Original post by RavuyaMy university had separate "software engineering" and "computer science" undergraduate degree programs, but I'm pretty sure that they came from some sort of staff rivalry.I'm still not entirely sure what the distinction was, other than what courses you took (software engineers took a year of "engineering principles" and were forced to take compiler construction, computer scientists were not forced to take compiler construction and instead took a course which was basically an intro to working in a team).It's a little bit backwards that software engineers were forced to take compiler construction without being required to take any courses that covered finite automata, regular expressions or even what a Turing machine is.Actually I was going to comment on that.... did you do an edit, or did I just miss that?!I always thought of SE as the basis for Software Architecture...   ;Quote:Original post by Alpha_ProgDesActually I was going to comment on that.... did you do an edit, or did I just miss that?!I always thought of SE as the basis for Software Architecture...I did a handful of edits, but no, software engineering students (who I think of as basically "people who write apps in a team for a client") were required to take a compiler construction course in the CS department.CS undergrads (who I think of as "people who write systems which can be extended to writing apps") were not required to take compiler construction, and most didn't. I think that's pretty stupid, although they did take a "theory of computation" class which covered DFA/NFA/regex/etc, which is basically enough to get by if you were on a desert island and had to write a compiler.I ended up in a class full of software engineers who had never encountered a parser before, leave alone written one. The prof had to stop class repeatedly to brush up on second year computer science in the midst of discussing LL, etc. A bunch of them had really vocal resistance to learning Haskell for "just one class" and instead decided to stick with Java (another mandatory class for CS that wasn't for SE: "programming language paradigms," which covered the difference between functional languages, imperative languages and whatever the hell kind of language Prolog is).   ;  My school has a CS degree, which has a SE area of specialization for you to choose.  You didn't really get into your area of specialization until your final year, so all the other topics are shared amongst all CS majors.We also had Computer Engineering, which dealt with lower-level CS topics, more the interface between SW and HW.;  I heard at a university that I visited that SE was a focus purely on the software side of computers, and CS was something like 75% software, 25% hardware.   ;Quote:Original post by AethixI heard at a university that I visited that SE was a focus purely on the software side of computers, and CS was something like 75% software, 25% hardware.I am about 75% sure this is how my school did it too.   ;  Around these parts, SE is a four year program regulated by the Canadian engineering accreditation board, just like traditional engineering disciplines. Graduates are eligible to get licensed as Professional Engineers.At my university, the SE program is in the same department as EE and CE. Students take general engineering classes (math, law, ethics), several courses shared with EEs and CEs (electronics, IC design), and a few classes in SE (UML, design patterns). In later years, they specialize by taking electives in CS (graphics, AI, compilers).The CS program is much more theoretical and mostly targeted at those interested in graduate studies.   