I have a BS in Computer Science and an MS. in Software Engineering - from different schools.
I agree with Ariel, it’ll depend largely on the program itself, but in general, I would say the differences are:
I’m not trying to be facetious here, but compsci is about building a program, and software eng is about building software in a practical environment. FCC is largely concerned with computer science, for example.
Here are some differences, as I understand them:
Computer Science - How to build a computer program (or “How do I build it?”)
- Learning a programming language (or more)
- Learning basic computer logical and physical layout (how is the memory stored, limitations, etc)
- Learning how machine instructions are compiled and interpreted
- Learning common data structures, algorithms, and design patterns (more focus on DS and Algos)
- In short, it’s probably what you think of when you think of “programming”
Software Engineering - How to build practical software (Or, “Are we building the right thing?”)
- How to know if you’re solving the right problem in the first place.
- Learn to communicate with less technical people to understand what needs to be built (“requirements gathering”)
- How to break up a huge project into manageable chunks
- How to track progress toward completion
- How to measure quality in what’s being built (or what was built)
Again, this has been my personal experience, other programs will be different and there’s always some overlap. it’s hard to build software if you can’t program after all