Every now and then a message on social networks pops up which devalues Computer Science degree. And unsurprisingly this usually comes from people who don’t have CS degree. When this happens I get the urge to punch this person in the face. But I refrain myself engaging. They think because they are “self-taught” or whatever they are better than their colleagues with CS degree.
Yes, you don’t have to have CS degree to develop applications (either desktop, web or mobile) but that’s only because Computer Science is much more than this. Or in other words there’s nothing computer-science-y in developing everyday applications. In my experiences programming in Computer Science is just a mean to an end. Majority of courses in CS studies aren’t even about programming but solving problems from other domains with the use of (other domains and) computers and domain-specific algorithms because computers are much faster at data processing and less error-prone. Computers are basically used as a calculators.
For example, data mining requires you to have a lot of knowledge about mathematics, bioinformatics requires you to have a lot of knowledge about biology. Trust me I know because I took those classes. I remember vaguely how in first lecture of data mining, professor scared us with listing a few related fields data mining is drawing knowledge from.
Yes, I agree that there are some classes you have like zero interest in or some classes are inhumanely difficult to pass, which in some cases can prolongs overall time of obtaining degree, but I think that only makes you a more persevering person for a life to come.
But there are also classes about topic every professional programmer should know: how computers are made and work, how networks work (from application level to physical level and back), their security – basics which are typically taught in first two year of CS study.
And lastly, having a Computer Science degree is a professional certificate for life, it’s an investment in the future and quite an achievement. It broadens horizons and certainly makes one a better engineer (the best engineers are good in both theory and practice).