| Ders Adı | OBJECT ORIENTED PROGRAMMING | Kod | CMPE1604 |
| Kredi | 4 | AKTS | 4 |
| Z/S | Zorunlu | Teorik Saat | 3 |
| Uygulama Saat | 0 | Lab Saat | 2 |
| Ders Dili | İngilizce | Dersi Veren | Dr. Ögr. Üyesi HATİCE NİZAM ÖZOĞUR |
| Dersin Veriliş Türü | |||
The purpose of this course is to develop students’ ability to analyze real-world problems and design software solutions using object-oriented principles in Python. The course aims to provide a strong foundation in object-oriented design, class-based modeling, modular programming, and software quality practices. Students will gain practical experience in implementing reusable, maintainable, and testable software systems using advanced Python features and established design patterns.
This course covers the fundamentals and advanced topics of object-oriented programming using Python. Topics include object-oriented design principles; classes, objects, attributes, and methods; modules and packages; inheritance, polymorphism, and abstract base classes; exception handling and custom exceptions; properties and decorators; Python data structures in object-oriented contexts; special methods and Pythonic class design; strings, regular expressions, and object serialization; iterators, generators, and coroutines; creational, structural, and behavioral design patterns; and testing object-oriented programs using unit testing and basic test-driven development practices. The course includes laboratory applications and a final project integrating design, implementation, and testing.
Theoretical lectures, laboratory applications, exams, discussion, question-answer, homework, project, individual study.
Textbook: - Phillips, D. (2015). Python 3 Object-Oriented Programming: Build robust and maintainable software with object-oriented design patterns in Python (2nd ed.). Other resources: - Lott, S. F. (2019). Python Object-Oriented Programming. Packt Publishing. - Official Python Documentation. https://docs.python.org/