I am teaching a new class next term and I need to choose a text book (or create a reading list) for it. The class is a hands on introduction to programming with MATLAB. A quick search of my library's catalogue returns nearly 300 titles, 100 of which are on-line books. When you are creating a new class from scratch how do you go about choose the text book?
These are some criteria I usually use:
Published within last 5-10 years, preferably in 2nd edition or beyond: This ensures the materials are reasonably up-to-date and major errors had been cleaned up.
Have physical and e-book versions: To tailor different types of readers.
The e-book version should be freely available through the institute's subscription: This is to lower the barrier for acquiring the book.
The titles have been commonly adopted by other syllabi: Perform a search using your course title or subject plus "syllabus" and "filetype:pdf" or "filetype:doc" will get some nice results. Sift through them and get some ideas.
For software book, I would also check if the publishers provide all codes and data sets online. In additions, I'd make sure the book's examples use the software with the same version that my institute has or the students have.
Some other thoughts:
From my experience in teaching statistical software, I found that books are really not that popular. Online workshops and support websites seem to be a lot more welcomed by the students. If you can identify any of online resources, I'd at least suggest that as a secondary option.
I elaborate to students in the first class on why I chose this particular title. When I teach a class with very diverse backgrounds I also suggest some secondary books that are more specific to their interests. For instance, if I have medical and veterinarian students in my class, I may pick one software book on medical data analysis and another one on analyzing zoological/ecological data, etc.
Another thing I do to show that I am serious about the text: I often put footnotes on my notes or slides pointing students to the relevant section if they'd like to learn more and try that particular analysis/function.
Once you have found a few candidates, read the forewords. All else equal, I often prefer books that were written with a syllabus in mind. The authors usually explain that in the forewords.
Isolate the "must learn" techniques in your syllabus and make sure they are all included in the chosen text. That would make sure the texts and your teaching are coherent, and lower the chance of getting evaluation comments like "the text has nothing related to what was covered in the class."
One format that always thrills me is inclusion of self-assessments and case studies. Even I don't end up using those titles, I often borrow the case studies to make all the codes that I teach relevant to the contents.
Start with the learning outcomes, which should have been defined when the course was approved. Write a rough time line of how you would approach those learning outcomes, i.e. in what order would you teach things. Then begin checking the tables of contents of books that look most promising.
See Penguin_Knight's criteria, request evaluation copies of the three that look most promising, and pick one.