Finding a good and reliable introductory book is usually hard, since we don’t know much about the subject. However, here I will present some criteria independent of the subject which could be useful, specially for math, physics, and computer science. At the end, I provide some examples. (Here, by a good book I mean something that once you are done, you would learn about the subject, and you would know what you don’t know).
The first aspect of a good book is that, it should be consistent in definitions. I believe that every chapter and every subject should be started with clear and concise definitions. Sometimes, we use terms in our everyday language which does seem to have a global meaning while it does not. For example, the word “morality” does not have the same definition everywhere.
The second criteria is that in every chapter there should be a clear picture of what is going on, starting with the definitions and ending with what is desired. Meanwhile giving the motivation is very helpful, however, what is a “must” is that it should contain all the details, even if something is skipped it should be mentioned that this particular part is omitted for given reason(s). I have seen in many books that some approximations are made without any justification why the approximation is valid, or without providing the range of validity of the given equation or subject.
The third criteria of a good introductory book is that, it should contain a list of meaningful and relevant (preferably solved) exercises. Just being an introductory does not mean it should have meaningless and useless exercises or examples. Especially, it is preferred that examples through each chapter would be continuos. Most of introductory books lack this particular criteria, where they use “simple-minded” examples.
One of the most important subjects in modern physics, is quantum mechanics. The “Quantum Mechanics” by Cohen-Tannoujdi is one of the best exemplary of instant of a good introductory book. For learning Python, “Python Programming” by John Zelle is rather a good book, however, it lacks the clear definitions. Usually, the O’Reilly is a good source of useful introductory and advanced books in computer science. In future posts, I will post a list of useful books that I came across during my ten years of university studies.