Team LiB
Previous Section Next Section

Who Is This Book Written For?

Anyone who wants to get the most out of an object-oriented programming language like C#! It has been written for

The bottom line is that anyone who really wants to master an OO language like C# must become an expert in objects first!

In order to gain the most value from this book, you should have some programming experience under your belt; virtually any language will do. You should understand simple programming concepts such as

but, you needn't have had any prior exposure to C# (we'll give you a taste of the language at the beginning of Part One, and will go into the language in depth in Part Three). And, you needn't have ever been exposed to objects, either—in the software sense, at least! As you'll learn in Chapter 2, human beings naturally view the entire world from the perspective of objects.

Even if you've already developed a full-fledged C# application, it's certainly not too late to read this book if you still feel "fuzzy" when it comes to the object aspects of structuring an application. Universities often offer separate courses in object modeling and in C# programming. Although it's ideal for students to take both courses in sequence, students often arrive at an object modeling course having already taken a stab at learning C#. Even for such folks, who will see some familiar landmarks (in the form of C# code examples) in this book, many new insights will be gained as they learn the rationale for why we do many of the things that we do when programming in C# (or any other OO programming language for that matter).

It ultimately makes someone a better C# programmer to know the "whys" of object orientation rather than merely the mechanics of the language. If you have had prior experience with C#, you may find that you can quickly skim those chapters that provide an introduction to the language—namely, Chapter 1 in Part One and Chapter 13 in Part Three.

Because this book has its roots in courses that the authors teach, it's ideally suited for use as a textbook for a semester-long graduate or upper-division undergraduate course in either object modeling or C# programming. We've included some suggestions for how to use the book in that fashion in Appendix A.


Team LiB
Previous Section Next Section