Computational chemistry is not a new field, but yes it can be difficult to find the right approach to it, because it is so diversified. And that means to some degree what you need depends strongly on what you want to study. Most of the time, you're basically solving the Schrodinger equation all kinds of different ways.
It will be better if you can specify what level of knowledge you do have at this time. Assume that you've just got into college, then there's a list of things you should study:
Basic theory
- Math.
You need linear algebra and mathematical analysis. Any good old textbook will do.
What you use the most everyday would be linear algebra, so you better be very very good at it, along with a good expertise in vectors, matrices and in some cases tensors. There may also be some functional analysis involved but for most people it really just boil down to linear algebra.
Mathematical analysis is basically just differentiation, integration, and all kinds of tricks related to it.
- Quantum mechanics.
You some of it from P-Chem II, but if you take it from the physics department it will be more helpful. I recommend the Cohen-Tannoudji textbook. Make sure you start from the beginning, go through every chapter to the very end.
- Quantum chemistry.
With a background you can now proceed to understand the conventional methods of quantum chemistry. For this I would recommend Modern Quantum Chemistry by Szabo and Ostlund.
Courses to take:
In addition to what was already mentioned above, many universities will also have quantum chemistry and computational chemistry courses. I also recommend you to take group theory and calculus of variation.
Programming skills
And that prepares you for the theoretical part. Whether you need comprehensive programming skill depends on what you want to do. Some may make do with existing programs, some may need to write there own. But even if you use an existing program, it requires no less amount of understanding of the quantum chemical theories you're using.
For programming skills, you will certainly benefit by taking numerical methods course, and mastery over one programming language. Take statistics and machine learning if you have time. Any one will do, it doesn't matter. For what we do, its straight forward to switch to a different language whenever you want. Computational chemists are not usually very big on the algorithms themselves. Most of the times, you just take something right out of a numerical analysis text book or program package and adapt a little bit. It is much more about the underlying physics, i.e., what form of wave function you choose, what approximation you make, etc.
The most important thing about programming, I feel, is hands on experience. If you can understand quantum mechanics, programming is not gonna be hard.
Chemistry
As for other branches of chemistry, you don't have to be the expert, but you definitely need a good understanding because those are the problems you're trying to solve. You need to understand very well the experimental procedure you're trying to study.