Introduction

Over the past 30 years I've written 18 books on various programming topics. You might wonder, why so many…? Didn't I get it right the first time? Well, no, I didn't…not really. When I wrote my first book more than 30 years ago, object-oriented programming (OOP) was obscure at best and unknown to most. Like so many others, I had to go through the OOP learning process before I could appreciate what OOP was all about. I have a feeling that there are a lot of people out there who still feel that way.

Each time I teach a programming class, I learn new and better ways to explain things. When I look out across a classroom filled with students and it looks like a still-life painting, it's time to back off, retool, and try a different approach to whatever concept it is I'm trying to teach. Every class I've taught has offered new perspectives on how I teach and how students learn. I've had the opportunity to teach both in a university setting and on site at various companies both here and in Europe. Each experience presented different teaching challenges. Changing my examples and the techniques I use to teach programming concepts is one of the reasons I came back to teaching after so many years away…. I missed the learning experience.

A number of the books I wrote were concerned with languages other than C#, but that too provides for an enriching experience for me as an instructor. The strengths and weaknesses of a language can be appreciated only if you've grappled with some ...

Get Beginning Object-Oriented Programming with C# now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.