To start with, I'm going to assume that this is for a "Computer Science" degree in the common sense, as in to become a programmer, as opposed to the rare few who want to study abstract Computer Science, a branch of math. They can just take all the math classes they can get their hands on, and would probably seek a Masters or Ph.D in CS. So, for the rest of this, I'm treating "computer science major" and "programmer" as synonymous (I got a B.S. in Computer Science to be a programmer, for example).
Anyway, the main difficulty in answering this is that the classes being offered in high school have varied over time, and vary from place to place, too.
The ideal class would be AP Computer Science, which some schools offer, but not everywhere, and it's not always taught by a teacher who knows any programming, so it may not help.
Math classes are good because they help you learn to think in the logical ways that help with computers. Algebra is useful for understanding many algorithms later, geometry helps if you're going to do any graphics and can help with graph theory (which, again, helps with many algorithms), and I have always found calculus showing up in unexpected places.
An English class for writing is less likely to come up directly, but learning to write well can help you write better documentation, and programmers who document their code well are few, far between, and highly valuable.
Other than that, any class about things that you are interested can be generally useful, because as you learn to program you will start to see ways to use computers in most anything that interests you. I have always found that it's easiest to program when working on a topic that interests me, and a big part of getting good at programming is just a lot of practice. For example, if you're interested in mechanics, too, and there's a shop class, then take it! Maybe you will notice somewhere that it would really help to be able to simulate 100 different sizes of some part, and that could inspire you to go and write that simulator.
The other best advice I can give is to not just rely on high school classes to prepare you for a computer science degree. While I have seen people who never programmed before start from the ground up in college, those who are lucky enough to have access to a computer (even a library computer, from time to time) during high school are able to start to learn and get a leg up. codeacademy.com is a great place to start to learn to program, for free, online, and getting started early can help you make sure that you will actually like it, and will usually either let you start on more accelerated courses in college, or treat the first few as easy overview.