 | INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING |
| 1. | From structured programming to object-oriented programming |
| 2. | Towards Object-oriented Programming |
| 3. | Phenomena and Concepts |
| 4. | Towards Object-oriented Programs |
 | INTRODUCTION TO C# |
| 5. | The C# Language and System |
| 6. | C# in relation to C |
| 7. | C# in relation to Java |
| 8. | C# in relation to Visual Basic |
| 9. | C# Tools and IDEs |
 | CLASSES AND OBJECTS |
| 10. | Classes: An Initial Example |
| 11. | Classes |
| 12. | Creating and Deleting Objects |
 | REFERENCE TYPES, VALUE TYPES, AND PATTERNS |
| 13. | Reference Types |
| 14. | Value Types |
| 15. | Organization of C# Programs |
| 16. | Patterns and Techniques |
 | DATA ACCESS, PROPERTIES, AND METHODS |
| 17. | Accessing Data in Objects |
| 18. | Properties |
| 19. | Indexers |
| 20. | Methods |
 | OPERATORS, DELEGATES, AND EVENTS |
| 21. | Overloaded Operators |
| 22. | Delegates |
| 23. | Events |
| 24. | Patterns and Techniques |
 | SPECIALIZATION, EXTENSION, AND INHERITANCE |
| 25. | Specialization of Classes |
| 26. | Extension of Classes |
| 27. | Inheritance in General |
| 28. | Inheritance in C# |
 | ABSTRACT CLASSES, INTERFACES, AND PATTERNS |
| 29. | Method Combination |