Microsoft Visual C# 2012 by John Sharp