At American universities, there is often a different degree for the hardware aspect of computing: Computer Engineering, which deals with digital design and other hardware stuff.
Computer Science is generally focused on algorithms and math, but the emphasis on coding varies across universities -- some are way more math heavy, while others have more software project work.
A few universities have a separate Software Engineering degree, like Cal Poly SLO. The emphasis is on the process of software development and applying computer science fundamentals to a product. This is the job of gathering requirements, designing a piece of software, and, often, actually implementing it.
SEs have to know how to structure software and put together data structures and algorithms, integrating knowledge of the hardware (and underlying layers, like the OS) that the software is running on. Computer engineers and electrical engineers make the hardware and everything lower than the OS. Computer scientists have to know how to develop new data structures and algorithms. Making software requires the work of all three professions.
I think there's a huge difference between "learning to code" and "learning to become a software engineer," or "learning to become a computer scientist." One can learn to code without a breadth of domain-specific knowledge, which obtaining a degree may give you.
Computer Science is generally focused on algorithms and math, but the emphasis on coding varies across universities -- some are way more math heavy, while others have more software project work.
A few universities have a separate Software Engineering degree, like Cal Poly SLO. The emphasis is on the process of software development and applying computer science fundamentals to a product. This is the job of gathering requirements, designing a piece of software, and, often, actually implementing it.
SEs have to know how to structure software and put together data structures and algorithms, integrating knowledge of the hardware (and underlying layers, like the OS) that the software is running on. Computer engineers and electrical engineers make the hardware and everything lower than the OS. Computer scientists have to know how to develop new data structures and algorithms. Making software requires the work of all three professions.
I think there's a huge difference between "learning to code" and "learning to become a software engineer," or "learning to become a computer scientist." One can learn to code without a breadth of domain-specific knowledge, which obtaining a degree may give you.