Originally posted by: jread
Yes, I know the old "CS vs. CIS" debate has been beaten to death all over the internet and there is no point in bringing that up. The stance of both sides are well-known.
I do, however, need some clarity on the difference between software engineering and CIS. I imagine Software Engineering degrees are more technical though they don't seem as technical as CS degrees. They also share some things in common with CIS such as project management, product delivery and other business concepts. From the different programs I've looked at, Software Engineering degrees don't get nearly as hardcore as CS degrees (less math, less theory) and are focused more on real world application. So far, I've had a very hard time figuring out what to expect from a Software Engineering program. For instance, here are two graduate programs I'm considering... one is a M.S. in Software Engineering and the other is an M.S. in CIS.
Software Engineering:
http://aln.coe.ttu.edu/degrees/MSSE.php
CIS:
http://www.stedwards.edu/business/graduate/mscis/curriculum.htm
I see that the CIS degree is more broad but I cannot tell if either really get deep into the theory of computer science. Maybe someone with more experience in the S.E. field can give me some insight on this. It seems that Software Engineering programs are popping up all over the place lately but there aren't really any standards for coursework that I've noticed.
Thanks!
Software engineering is designed for people who wish to choose software development as a career. usually, you learn 1-2 languages (Usually C++, Java, or C#), Object Oriented Programming, GUI Concepts, Database Concepts, and are expected to be able to learn more on your own time. You will learn the methods for planning, design, modeling, developing, testing, and maintaining Pc/server based software.
CS or CIS is a more broad field, in which you will apply computer programming to solve real world problems, which do not usually end up as pc based software. You will learn a programming language (usually c/c++), data structures, theory & mathmatics, which will enable you to solve problems in the fields of artificial intelligence, graphing mapping and data modeling, forecasting, searching sorting and other complex algorithms. You can work in nearly every field, but you will almost guaranteed end up not becoming a PC applications developer, except possibly in the area of operating systems.
computer engineering/EE is a more hardware oriented field, in which you will learn some programming languages (usually C and assembly) how to design, build, & test microprocessors and digital components, more complex circuits which depends on them, or even program entire digital devices, such a DVD players, traffic lights, microwave ovens, etc.