From time to time, I regret majoring in computer science and not something heavier in mathematics. Today was one such day 🥲. It remains one of the biggest regrets of my life. Alas, what is done is done. Grass is always greener on the other side.
This post by Varun Shenoy sums it quite well. If you are young, and have an option, choose anything but computer science. And particularly, don’t go into computer science in order to learn programming. Programming is the bread and butter of 21st century, but this means it is a fundamental skill… like english. You don’t become excited just because you know english. You need other skills, english is just a medium of communication (with other english-speakers). You need other skills, programming is just a means of communication (with the computer).
Don’t also go into computer science in order to pursue higher studies in computer science. The research part of computer science can be fairly heavy in mathematics, so I’m biased to say that an applied-math major would be better. Of course, you can start an undergraduation in computer science and fill it up with mathematics heavy topics, but why not acquire a proper mathematics background in the first place then.