I was fortunate enough to have taken the Matlab course taught by the author of this book this past semester. I have to say, not only is Dr. Attaway one of the best professors I have had, this book was one of the best texts I have used and was nearly perfect for the use for which it was intended.
That being said, some explanation should be given about the book's intended audience. Professor Attaway's course itself is something of a hybrid in that it introduces basic linear algebra, the fundamentals of programming and Matlab all within one semester. The book mirrors the course's objectives and thus is something different than a primer on Matlab (which it can still easily be used for)
The book assumes little to no programming or Matlab experience on the part of the reader. You start at the very beginning, briefly learning the barest essentials of the Matlab interface, basically enough to whet your appetite. One thing I haven't like about other programming books is that they are frequently organized so that you learn everything there is to know about a specific topic, from the very basic to the most arcane aspects, before moving on to the next one. Dr. Attaway's approach is to introduce just enough of what you need to undertake specific objectives at a basic level, and then later, sometimes much later, work into the more complex areas of a topic. So, you might learn a little about simple file input/ouput near the beginning of the book to do some basic file saving, loading, etc. and then revisit the topic much later in the book to really get into the nitty-gritty, higher level stuff. In this manner, you acquire skills and understanding in a way that feels more natural and more relevant to the material, and certainly easier than trying to learn Matlab using many of the books I've read or worse, trying to learn via the Matlab documentation. (This is no slam on Matlab's documentation. It's wonderfully complete and detailed, but it's a horrible way to learn the software). The best parts of this book are the chapters on sight and sound,( where she gives great explanations on GUIs, images and sound files),advanced functions and advanced file input output. I did try to learn Matlab on my own before taking this class. I found these topics covered in other books and I just couldn't didn't understand them clearly until I read this book.
And as I stated earlier, you do start on the road to programming with this book. Having had to teach myself programming, from scratch, I can honestly say that I wish that I had this book and the Matlab software around to help me get started. The basics of programming are the same for pretty much any language: C++, Fortran, Java, etc. They all use variables, loops, file input/output, and so on. Matlab is a great introduction to programming because: compiling is easier (you are not involved in the process!), the results are more immediately useful and some of the commands are very similar to what is used in C++. Dr. Attaway's book meshes the two subjects, Matlab and programming, together very nicely.
Dr. Attaway does not delve into mathematics a great deal. None of the topics, including linear algebra, are given a great deal of airtime. Mostly, she just shows you that, yes, Matlab is quite capable of solving simultaneous equations so you don't have to do it by hand. Most of the other math topics are very generic introductions, so if you need something more complete, look elsewhere.
The writing in this book is succinct but still feels complete. There is little extraneous prose on the pages, but the details are explained well without coming across as dry or boring. We covered almost all of the 15 chapters of this book in one semester and I never felt rushed or overwhelmed by the amount of material in the book. Dr. Attaway does her best to give the reader practice problems that cover a wide spectrum of difficulty levels, from the simple to the very challenging. Many of the problems are based on real engineering problems, though distilled to a level approachable to a first year engineering student.
To some people, the book may not feel comprehensive enough. It is not intended, at all, to be comprehensive. For a beginner, though, I feel like it is the best starting point for learning Matlab and probably one of the best starting points to learn programming.