Hey /sci. As a high school senior, how could I best prepare for majoring in Computer Science besides learning programming languages? I'm fairly proficient in Java and C++, but I would like to get a leg up on the mathematical side of computer science before I enter college. Should I start with discrete mathematics, and if so, are there any books that you would recommend? Is it worth it to go through Spivak's Calculus if I felt that my high school Calculus course is a little too lightweight? Sorry for the meme degree, but it just happens to be something that I'm legitimately interested in.
Calculus and Linear Algebra. They are your friends. Pretty much cover up everything you need for undergrad. Learn them enough to understand some optimization algorithms. Discrete Math is easy af. If you can't get 4.0 I recommend you to quit asap. Stop wasting everyone's time.
Learn some set theory and proofs, that comes into play when you learn algorithms and computability
How to Prove It - Velleman
Book of Proof - forgot
Those are pretty good books you can go through but be ready to rigorously prove some extremely mundane and painfully obvious shit. You technically could go through Spivak, but trust me it won't be worth it for the path you're going down.
>>7950790
why don't you think Spivak will be worth it? Does Calculus not play a big a factor in theoretical CS?
>>7950829
Not really, go skim through an Algorithms or an Computability/Complexity/Automata book. You'll find that knowledge of set theory is much more relevant in these, and those two are pretty much the foundation of theoretical CS.
>>7950848
Ok thanks!
You don't need to do anything to prepare, except maybe learn to shower and apply deodorant. Those two things will greatly increase your chances of being one of the few people who aren't hated in your major.
>>7950947
hehehehHEHEHEHEHEHEHEHEHEE!!