What's the practical difference between a Computer Science degree and a Software Engineering degree?
I'm trying to narrow down my choice for a major, and am wondering what I could expect to be the difference between the two on a practical level? Classes, job opportunities, etc. #computer-science #software-engineering
4 answers
kunal’s Answer
Software Engineering at glance
Software Architecture
Project Management
Technical Planning
Risk Management
Software Assurance
Computer Science at glance
Algorithms
Theories of Computation
Compilers
Operating Systems
Artificial Intelligence
Content differences:
Computer science focuses on foundations of computing including, algorithms, programming languages, theories of computing, artificial intelligence, , and hardware design.
Software engineering, on the other hand, focuses on technical and managerial leadership for large and complex systems. Its foundation of enduring engineering principles will support a lifetime of practice amid emerging technologies.
On the delivery side:
Computer science programs tend to concentrate on individual assignments, dealing with the development of systems such as databases, compilers, and operating systems.
But software engineering is anchored in real-world problems. Because software engineers apply professional judgment acquired through practical experience, their training is hands-on, project focused and team-centered.
Eric’s Answer
In my experience, the two are relatively similar at an undergrad level. In theory, Computer Science is more of a specialized branch of mathematics and is highly theoretical, but this rarely comes out while getting a Bachelor's degree. Many colleges, such as mine, only offer a Computer Science degree, and if you want to be a Software Engineer that is what you study. Most companies will read either degree as meaning that you are a reasonable candidate for a programming job.
David’s Answer
Most employers think of them as synonymous. In theory Computer science is the theory and optimization of computer and software systems, whereas software engineering is practice of using engineering priniciples to create software applications and systems.