Learning to Program the Object-Oriented Way with C#