Being an OpenGL only person, I figured it was time to broaden my horizons and see what DirectX was all about. This book is good about breaking down every parameter to each function using DirectX. For example, it explains what every parameter to D3DX11CreateDeviceAndSwapChain do and what they're used for. There are a few problems with this book that can frustrate the crap out of you if you don't realize it is a small error. I haven't read the book spending hours on each page, but I was able to find a few errors that cause tension when you're learning:
1. Page 51: ID3D11Context doesn't exist, it is ID3D11DeviceContext. I searched the header files for ID3D11Context and it simply doesn't exist. If you knew DirectX11, you'd know it was ID3D11DeviceContext instead, but for a beginner who has no idea, it can be a frustrating response when your compiler says "ID3D11Context: undeclared identifier".
2. Page 54: OMSetRenderTarget doesn't exist it is OMSetRenderTargets. A very simple error (they left of the 's'), but you can spend a lot of time just hunting down the correct function. Luckily, the following pages contain OMSetRenderTargets correctly, but if you're like me and like to step through the book while programming, it doesn't work.
3. Page 118: "A 2D texture uses a single value for its texture coordinate. A 2D texture uses two values for its texture coordinates". I think they meant to say "A 1D texture uses a single value for its texture coordinate." Without any knowledge on graphics programming, this could be a problem.
4. This book doesn't show what header files or libraries are required for each function. For instance D3DX11CompileFromFile isn't in d3dcompiler.h, it is in d3dx11async.h. Do I include d3dx11.lib or d3d11.lib? OpenGL (using GLEW) uses opengl32.lib and glew32.lib and that's it.
5. This book uses DXTRACE_ERR and DXTRACE_MSG. However, unless you know where these are or which header they're in, you'll have to search for yourself. Also, don't forget the library file dxerr.lib!
All in all, this book is a good beginner's book. It doesn't go into depth about graphics programming, it is just about DirectX11 (which you can get from the title of the book). So know what you're getting into. If you don't know anything about 3D programming, this book really isn't for you. If you do know 3D programming, but want to learn the new(er) DirectX11, this book IS for you.