You learn branch prediction in most CS, CE or EE programs.
It's very important to understand it so that you can understand why sometimes pipelining is difficult or impossible.
We used the textbook "Computer Organization and Design" by David A Patterson and John L Hennessy. Branch Prediction comes up on page 341. I have it sitting on my desk here at work because it's such a useful book.