I’m a highschool senior looking for a degree in computer science and is intimidated by math, but also just curious what kind of math is being taught there so i can jumpstart my learning

Here in web dev, we don’t use that much advanced math. Going the CS route might get you a bit more math.

I would expect at least a little discrete math and linear algebra, maybe some statistics/probability. Some places might go through the basics of calculus. There might be some more advanced stuff if you do a specialization.

What is the highest math you’ve achieved?

Here’s the local requirements for me, which is exactly what @kevinSmith said, calculus 1 and 2, discrete math (counting and probability), linear algebra (matrices and lines), and statistics and probability. There’s also science requirements that are usually two semesters of physics, or maybe chemistry, which often look like more math (at least when I teach them…).

Also, CS used to just be math, so some programs are more math intensive than others. Some paths in CS will require more math; for instance if you plan to study numerical analysis, you would need to add calculus 3, differential equations, and possibly and advanced version of one or both of those (like real or complex analysis or partial differential equations).

It’s not uncommon for CS majors to have math minors and vice-versa. With the common degree requirements, it’s not unusual for people to attempt CS/math double majors.

I advise anyone wanting to study any technical field (math, science, engineering) to do as much math in high school as possible, preferably taking calculus if it’s available, but at least pre-calculus or trigonometry or whatever the class between algebra 2 and calculus is called at your school. Also, take chemistry and physics if it’s available. And obviously computer science if you’re one of the lucky few to have that class.

It is a lot easier to transition to college level math and science if you’ve already had the “pre-calculus” material in high school and even easier if you’ve already had calculus. Plus, it’s much easier to graduate on time if you can start in college calculus since many technical classes have calculus 1 as a prerequisite.

It’s a big jump from high school to college math and more and more colleges are starting programs to help students make the transition. The University of Texas has a program to help students get through calculus 1 that was profiled on NPR a while back (sorry, no link handy). So when you look for a program, look at their requirements and check if the college has some kind of support system to help you get through calculus 1. It’s a daunting task, but once you’re through calculus 1 in college, things get easier.

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

Maybe integration and differentiation, which are graphing related subjects

Using a Camrbidge, UK-based curriculum, we just have math only lol. But I think freecodecamp got some math courses on youtube, are they part of computer science too?

Thanks for the response man, I’m in grade 11 and my math scored dropped quite a lot and I took a bit of a hit to my self esteem. I like computer but sometimes I’m scared that I won’t handle it. Are you also suggesting that math in computer science and math in high school are wildly different?

Yes. As long as you are on track for “college math”, or even a little “ahead” of whatever is required to apply to universities, you should be ok.

Even if you score a little low on entrance exams, you will just be placed in math classes that will “catch you up” to whatever you need for your major, so you wont be dropped into death automatically.

My math grades where **never** in a place to “drop significantly”, I usually did enough to get by and that’s about it. It wasn’t until college where I straight up failed calculus and started taking my classes more serious as my usual slacking approach wasn’t going to cut it.

thanks for the reply, I’m a bit scared but hard work always pays off

Yeah, that would be covered in calculus. I wouldn’t be surprised if you had to do a basic level calculus course. That was one of the most interesting things I ever studied. I don’t use it much directly, in my life or in dev work, but it did have a profound effect on how I think.

Try not to be intimidated by math. You can learn it. We’ve built this weird mystique around the subject of mathematics, but it’s not special. It takes time patience and sometimes some extra help just like any other subject.

If I recall correctly, my math requirements for a CS degree were

- Calculus 1, 2, 3
- Linear Algebra
- Discrete Math
- Probability and Statistics for Engineers

Several students also took Differential Equations as an elective because that one extra class was enough for a math minor. (I didn’t feel like paying for an extra class.)

I’m not gonna lie i don’t know what calculus is. Is it integration and differentiation? In addition what is discrete math? Thanks for the reply, btw, it helps me a lot

Integration and differentiation are a big part of calculus. It uses trigonometry pretty heavily, but relies the most on strong algebra skills so you’ll set yourself up for success by taking the time to get comfortable with what you’re learning now. Remember that it’s 100% normal to feel really stuck some of the time, even for people who have a lot of confidence and a strong math background. When you get stuck, talk to your teachers. They really want you to learn and if they can’t figure out how to explain things in a way that makes sense to you, they might be able to connect you with extra resources.

“Discrete math” is a survey course that jumps from topic to topic. It will include something like:

- boolean logic
- sequences and series
- combinatorics
- formal logic and proofs
- set theory

These are all introductions to topics that you’ll use in other classes. Boolean logic is fundamental to programming. Sequences and series will come up in Calculus 2 and some special topics computer science classes. Combinatorics will be used mostly in probability and can come up especially in computation-heavy subjects like machine learning. Formal logic and proof writing will be a big part of your Algorithms course and sometimes something like a Finite Automata or Computational Theory course. Set theory comes up a lot, but the most obvious use in programming is database use and design.

I think of calculus as using inifinity in calculation. At the heart of calculus are the limit, the differentiation (derivative), and integration (integral). Very simply, limits are figuring out what the result would be of an operation if done an infinite number of times, differentiation is finding rate of change of of a function at an infinitely small interval, and integration is finding the area under a curve by breaking it into infinitely small rectangles. There are other things, but that is the core.

Perhaps someone can explain discrete math better, but my understanding is that it is just non-continuous math, so dealing with enumerable quantities, like integers. I think set theory is in there, boolean algebra, things like graphs, etc.

Why not pop some popcorn and watch some youtube videos on the subjects? You could at least get an overview.

Roughly,

Algebra is about relationships between quantities

Calculus is about relationships between quantities that *change*

Discrete math is a grab bag of topics generally focused on the logic of finite, discrete quantities

It is all doable and nothing to be intimidated by. Your professors want you to succeed and reach your goals.

Note I should have made earlier: the list I came up with is for a Bachelor of Science in Computer Science in the US. The specific names and breakdowns of courses will vary from school to school and may be even more different in other countries. The rough outline of topics is *probably* something *close* to what you can expect. The best bet is always to look at the schools that you are planning to apply to and reading their degree requirements.

It’s very difficult, but your explanations helped me a lot.