I hate math, I never was good at it, I never liked doing it, and I usually struggled and had to really focus to get by.
But I was able to get a CS degree.
The CS degree I got was roughly 50% “math”, however most of that math is “computer science” math, or math that you’d basically never need to know, understand or think about if you weren’t going into computers. A CS degree is just as much about “computation” as it is actually practical knowledge. Because of this, the math you learn is inclined to be specific to the types of problems you’d face when dealing with “computation”.
Stuff like:
- Boolean Algebra
- Finite Mathematics
- Data structures
- Algorithms
These are mostly specific to CS majors, other math classes you’d probably have to take up, but wont be focused on just CS majors would be:
- Statistics
- Calculus
- Physics
If all this math scares you, you need to understand that programming falls back into math without realizing it very often. So if you want to program, understanding the “math” under it is important, and helps in a number of situations. Its this “hidden math” you learn about, making the CS specific math actually rather interesting to learn about compared to most traditional math most people learn when growing up. In many areas this sort of math is more intuitive, but also foreign so if you didn’t like math before, you might not like CS specific math, but you also might like it more since its usually rather different.
You can get familiar with what topics a CS major would cover by taking a “self taught” approach to learning these topics, as there are plenty of resources out there to learn the same content on your own. Just understand that its up you to to structure, study, and verify you actually learn any of this stuff, which is the main drawback of being 100% self taught, but the same mindset can be an excellent starting point of getting familiar with all there is to learn and getting a “head-start” as you seek.
Here’s some popular resources you can skim through to get an idea:
- CS50 from havard = https://cs50.harvard.edu/
- https://teachyourselfcs.com/
I also recommend looking at the college(s) you plan on going to to see their curriculum to get a more specific head start on the curriculum they will focus on. Just getting an idea of what you will be taking is better than going in blind expecting a mountain of complex math equations will fall on you.
Finally, I recommend getting into the “mindset” earlier rather than later. I mentioned I struggled in college, primarily because I didn’t take it very seriously and was “slacking” too much. I started taking my degree more seriously, and part of that was immersing myself into the topics much more, even on my free time.
So I started watching math/computer channels like numberphile and computerphile to learn about core concepts, along with fun an interesting topics in my freetime.
I’d consider “getting into the mindset of computer science” what you should focus on early, that way you come into your “intimidating math classes” with the mindset of “I know this is difficult, but I’m ready for the challenge” rather than “I think this is difficult, I’m probably gonna fail!”
There’s a lot to learn, and always more, but being excited for the knowledge is what will carry you through to graduation day.
Good luck, keep learning, keep building, keep growing