The fundamental subjects in computer science are data structures and algorithms, systems, architecture, software engineering, and theory of computation.
There are many other subjects that are deep and complex like database, AI, programming languages, networks, machine learning, etc but I can place those subjects in subheadings under one or more of the above.
To study these subjects deeply you will need a broad and deep background in discrete mathematics — including logic, algebra (linear, Boolean, set) , number theory, recurrence equations, graph theory, recursion, combinatorics, sets, functions, relations, and sums. Ideally, you should take courses specifically designed to illustrate the CS applications of these subjects, otherwise you will not appreciate where the math comes into play in CS.
You need Calculus about as much as you will need trigonometry — you need to be familiar with the basics but the details do not come up as often in computer science as the discrete subjects. You need probability and statistics much much more.
You need to know how to program in some abstract language — and ideally 2 or more with very different paradigms. You should work on a real life project with a team on a web-based GUI app.