A question that is often asked of us is the difference
between Computer Science and Software Engineering.
The following table summarizes some key characteristics of
the two disciplines:
|
|
Computer Science |
Software Engineering |
|
Key goal |
Provide the basic science of computing hardware and software. |
Build effective software systems using a rigorous engineering approach. |
|
Primary focus |
Study of the theoretical foundations of computation and their implementation and application in computer systems. |
Application of a systematic, disciplined, and quantifiable approach to the development, operation, and maintenance of software |
|
Common curricular components |
Programming fundamentals Basic computer science theory |
|
|
Distinguishing curricular content |
Choice of advanced CS topics
SE content
|
SE fundamentals
Teamwork and project management CS content
|
The field of software engineering grew out of computer science, to meet the needs of organizations and professionals faced with the challenge of building ever more complex and critical computer systems. Computer science continues to provide a solid foundation for understanding and innovation in computer systems, while software engineering combines the results of computer science inquiry with the engineering methods and practices. Software engineers are thus prepared to conceive, implement, and enhance the complex software systems that are so important to industry and society, while delivering cost-effective, high-quality solutions in predictable manner.
Since undergraduate software engineering programs are
relatively new, only a small number have been accredited in the United States.
The graph below shows the approximate number of accredited programs in Computer
Science (CS), Computer Engineering (CE), Electrical Engineering (EE) and
Software Engineering (SE), as of May 2008.

