Beginning C# Objects: From Concepts to Code