Beginning SharePoint 2010 Development, Steve Fox, Wiley, 2010
Programmers of web apps will find this useful. It starts with the basics of SharePoint, Microsoft’s CMS, then installing and configuring a development environment, and then developing with SharePoint. The book is heavy on coding exercises, but tries to stick to a common set of .NET patterns. The online ebook is here. The OPL does not have a paper copy, so disregard the following link.