Learning to Program the Object-oriented Way with C#