3 answers
3 answers
Updated
Dhairya’s Answer
Hi Calvin,
Great question. For most college undergraduate programs there really isn't a difference between software engineering and computer science at the undergraduate level. In theory, there is a distinction between software engineering and computer science. But that distinction is irrelevant until you start pursuing a masters degree or phd.
There is a significant overlap in concepts and both also do involve computer programming. Most computer science programs are designed to teach students to think about computational problems and how to solve them. The solutions involve understanding algorithms, developing mathematical proofs to show why a given algorithmic solution is optimal, and thinking about how to solve computational problems at different scales. A fundamental part of computer science is understanding classes of problems, that is problems that can grouped together based on common features and solutions, trying to derive more efficient solutions, which in the real world can save computational resources, memory limitations, and money.
On the flip side, software engineering is actually writing code as an implementation of solution. Say you want to make a mobile app that is say the next Uber. As a software engineer you want to use existing software tools and libraries to build the application. Software engineers can conceptualize what the application design and work with other engineers to build it out. Depending on what the application is they are building, they'll often implement solutions from computer science to solve real world problems. In the Uber example, a software engineer may implement the latest matching algorithm that can match drivers to riders more efficiently.
Computer science graduates will often become software engineers and developers. The ones that have strong algorithm and data structures backgrounds are often sought by Google, Amazon, and other tech companies because they have experience solving hard computational problems.
If you have a choice, follow computer science if you can. A solid computer scientist can pick up new languages and tools to solve problems by relying on their fundamental computer science knowledge.
Feel free to ask more questions!
Great question. For most college undergraduate programs there really isn't a difference between software engineering and computer science at the undergraduate level. In theory, there is a distinction between software engineering and computer science. But that distinction is irrelevant until you start pursuing a masters degree or phd.
There is a significant overlap in concepts and both also do involve computer programming. Most computer science programs are designed to teach students to think about computational problems and how to solve them. The solutions involve understanding algorithms, developing mathematical proofs to show why a given algorithmic solution is optimal, and thinking about how to solve computational problems at different scales. A fundamental part of computer science is understanding classes of problems, that is problems that can grouped together based on common features and solutions, trying to derive more efficient solutions, which in the real world can save computational resources, memory limitations, and money.
On the flip side, software engineering is actually writing code as an implementation of solution. Say you want to make a mobile app that is say the next Uber. As a software engineer you want to use existing software tools and libraries to build the application. Software engineers can conceptualize what the application design and work with other engineers to build it out. Depending on what the application is they are building, they'll often implement solutions from computer science to solve real world problems. In the Uber example, a software engineer may implement the latest matching algorithm that can match drivers to riders more efficiently.
Computer science graduates will often become software engineers and developers. The ones that have strong algorithm and data structures backgrounds are often sought by Google, Amazon, and other tech companies because they have experience solving hard computational problems.
If you have a choice, follow computer science if you can. A solid computer scientist can pick up new languages and tools to solve problems by relying on their fundamental computer science knowledge.
Feel free to ask more questions!
Updated
Badri’s Answer
In general, computer science includes and teaches hardware - hardware that is needed to run the software