| 1 | To explain the fundamental concepts of object-oriented programming (class, object, encapsulation, inheritance, polymorphism, and abstraction) alongside their theoretical foundations and to gain an object-oriented perspective on software development. |
| 2 | To analyze complex real-world problems using an object-oriented approach and transfer these problems into a digital environment through appropriate class structures, properties, and hierarchical relationships. |
| 3 | To build readable, sustainable, and reusable code blocks at industry standards by effectively utilizing the technical capabilities of the C# language (Properties, Access Modifiers, Interfaces, etc.). |
| 4 | To ensure software modularity, flexibility, and reliability by conducting debugging, testing, and maintenance processes within the context of object-oriented systems. |
| 5 | To increase software quality by using fundamental design principles and design patterns; and to generate architectural solutions that are extensible and preserve long-term system integrity. |