I can’t say enough about the textbook that I have been using for my language learning: Bosnian, Croatian, Serbian: A Textbook with Exercises and Basic Grammar, by Ronelle Alexander. The book comes with a companion grammar book. The casual learner should be warned, these texts are fairly advanced (even from the beginning), and move quickly through the various parts of the language. While the text moves quickly and seems to sometimes gloss over things, the grammar notebook gives in depth explanations of those same things, with more examples. Because Bosnia is a relatively small country, it is generally hard to find good texts for learning the local language. This text has been more than adequate, so far.
The one thing that I would say against these texts is that they have too few practical examples when new concepts are introduced. For example, lesson 13 gives an example of a ridiculously polite exchange between a houseguest and a host, but the book give good examples of how to answer the telephone, apologize for bothering someone, or ask for things at the bank or the post office. This is a common problem with textbooks; many err on the side of being “too” practical, while others are too technical.
I have found that the wealth of information provided in these texts far outweighs any drawbacks, and usually the amount of information provided can be used to quickly fill in the gaps left by the information’s technical nature. I definitely recommend Alexander’s texts, for those who are serious about learning Bosnian, Croatian, or Serbian.