Books I'm currently reading

Concurrent Programming on Windows by Joe Duffy

I'm excited to be reading this book. I've watched some channel 9 videos of Joe Duffy and he seems extremely intelligent. My hope is that this book will make me feel much more comfortable in the cases where I have to do some concurrency. I also hope that it will help me in understanding how to better write a highly-concurrent network server. Concurrency seems to be one of those really tough problems, and those are the ones that get you thinking the most.

Artificial Intelligence: A Modern Approach

This book is used at Dixie State College in their AI course and is used at many other Universities. It also comes highly recommended by DJ Holt. I'm very excited to read through many of the chapters to get a deeper and more theoretical understanding of AI topics than "Programming Game IA by Example" was able to give me.

Pro ASP.NET MVC Framework

I'm currently reading this book for work. ASP.NET MVC is an alternative to web forms. It allows you to have a better seperation of concerns and focuses on making it easy to write unit tests for your web applications. In the early chapters the author gives some high-level overviews of different software architectures which I think is useful for every developer to be aware of. This book seems to dig very deep into the MVC framework. The books I've read from the Apress Pro series so far seem to do a very good job of going deep. Maybe that's not good for introducing people to things, but it's very helpful if you want to become an expert on the subject.

Books I recommend

Pro Silverlight 2 in C# 2008 This is a great book for learning Silverlight. It goes deep in many topics of Silverlight and might be a bit overwhelming at first but it's a very good reference. I read this from cover to cover and loved it. Though I would recommend getting "Pro Silverlight 3" as it is the newest version of the book and includes Silverlight 3 features. I will be getting it soon.
CLR via C# I read many chapters in this book. (Though not all) It goes extremely deep and gives great insight into how .NET and the CLR work. If you plan on being a .NET developer long-term this book will give you the low level details necessary to be able to make good decisions about the software you write and keep performance in mind. I personally wonder if there will be a new edition once .NET and CLR 4 arrive, if so I will definitely be reading it.
Programming Game AI by Example

This is a very practical book, it gives a good introduction to many game AI concepts and gives sample code to explain them. I really liked the author's humor and how he related almost every example to a game. It makes things more fun when the math that is being explained is put in the context of calculating how much your archer needs to turn in order to shoot at an ogre.

If you're excited about AI and want an introduction to things this is a great book. If you've been doing AI and want a deeper look I would recommend "Artificial Intelligence: A Modern Approach". Which covers many more topics and in a more theoretical way. (I recently started reading that one)

Books I intend on reading someday soon

Pro Silverlight 3 in C#

This is the next book by Matthew MacDonald. I read his previous one and I want to read this so I can continue to have a deep understanding of Silverlight technologies.

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries

I believe this book will give me a better overall view of how to design good APIs. That's something every developer should know because even if they never distribute their libraries to other companies they themselves have to use their APIs and their co-workers probably will too. It may also give me extra insight into things available in the BCL.

Touch of Class: Learning to Program Well with Objects and Contracts

This book focuses on object-oriented design, because it's not good enough to be able to write classes, we should know how to write objects that encapsulate, abstract, and compose well. Additionally this book focuses on design by contract. .NET 4.0 will give programmers the ability to write contracts that are evaluated at compile time. I'd like to have a good understanding of the benefits and how to write good contracts by the time that is available. The book teaches in a language called Eiffel which already has support for contracts.