|
I. Programlama Paradigmalarına Giriş Bölüm 1:Programlama Paradigmalarına Giriş Bu bölümde, programlama paradigmalarının ne olduğu, neden önemli oldukları ve programlama paradigmalarının iki geniş ana kategorisi olan Buyurgan (Imperative) ve Bildirimsel (Declarative) programlama ele alınmaktadır. Ayrıca, modüler kod yazmanın ve sorumlulukların ayrıştırılması (separation of responsibilities) ilkesinin sağladığı avantajlar ile bu kavramların farklı programlama paradigmalarıyla nasıl ilişkilendiği açıklanmaktadır. Ø Programlama Paradigmaları Nedir? Ø Programlama Paradigmaları ve Programlama Dillerinin Anlaşılması Ø Programlama Dilleri ile Programlama Paradigmalarının Karşılaştırılması Ø Buyurgan ve Bildirimsel Programlama Paradigmaları Ø Programlama Paradigmalarının Kategorilerinin Anlaşılması Ø Programlama Kategorilerinin Karşılaştırılması Ø Neden Programlama Paradigmalarına İhtiyaç Duyarız? Ø Modüler Kodun Sağladığı Avantajlar Ø Birden Fazla Paradigma ile Düşünmenin Avantajları Ø Python’da Modüler Kodun Belirlenmesi Bölüm 2: Nesne Yönelimli Programlama (Object-Oriented Programming) Bu bölümde, Nesne Yönelimli Programlama (Object-Oriented Programming, OOP) paradigması, bu paradigmanın yaygın kullanım alanları, avantajları ve dezavantajları ile Python dilinde temel nesne yönelimli programların nasıl geliştirileceği ele alınmaktadır. Ayrıca, sınıf kalıtımı (class inheritance) ve açık (public) ile gizli (private) öznitelikler gibi bu paradigmaya ait daha ileri düzey konulara da değinilmektedir. Ø Nesne Yönelimli Programlama Nedir? Ø Python’da Nesne Yönelimli Programların Belirlenmesi Ø Sınıflar ve Nesneler Ø Bir Sınıf Oluşturma Ø Nesne Yönelimli Programlamaya Ait Örnekler Ø Nesne Yönelimli Programlamanın Uygulama Alanları Ø Nesne Yönelimli Programlamanın Avantajları ve Dezavantajları Ø Açık (Public) ve Gizli (Private) Öznitelikler Ø Nesne Yönelimli Programlarda Sınıf Kalıtımı Ø Kalıtım İçeren Bir Sınıf Oluşturma Ø Programlama Paradigmalarının Değiştirilmesi Ø Programlama Paradigmalarının Sınıflandırılması
II. Python’da Nesne Yönelimli Programlama Bölüm 1: Nesne Yönelimli Programlamanın Temelleri (OOP Fundamentals) Bu bölümde, Nesne Yönelimli Programlama (Object-Oriented Programming, OOP) kavramının ne olduğu, yordamsal programlamadan (procedural programming) hangi yönleriyle ayrıldığı ve nasıl uygulandığı ele alınmaktadır. Devamında, kullanıcı tarafından tanımlanan sınıfların oluşturulması, özniteliklerin (attributes), metotların (methods) ve yapıcıların (constructors) nasıl tanımlanacağı ve kullanılacağı ayrıntılı olarak açıklanmaktadır. Ø OOP Nedir? Ø OOP Terminolojisi Ø Nesne Arayüzünün İncelenmesi (Object Interface) Ø Sınıf Yapısı: Öznitelikler ve Metotlar Ø Sınıf Tanımlarının Anlaşılması Ø İlk Sınıfın Oluşturulması Ø Sınıf Tanımında Özniteliklerin Kullanımı Ø Sınıf Yapısı: __init__ Yapıcı Metodu Ø __init__ Metodunun Doğru Kullanımı Ø Bir Sınıf Yapıcısının Eklenmesi Ø Sıfırdan Bir Sınıf Yazılması Bölüm 2:Kalıtım ve Çok Biçimlilik (Inheritance and Polymorphism) Kalıtım (inheritance) ve çok biçimlilik (polymorphism), Nesne Yönelimli Programlamanın (OOP) verimli ve tutarlı kod yeniden kullanımını mümkün kılan temel kavramlarıdır. Bu bölümde, bir sınıftan nasıl kalıtım alındığı, metotların nasıl özelleştirildiği ve yeniden tanımlandığı (override), ayrıca sınıf düzeyindeki veriler ile örnek (nesne) düzeyindeki veriler arasındaki farklar ayrıntılı olarak ele alınmaktadır. Ø Örnek (Instance) ve Sınıf (Class) Verileri Ø Sınıf Düzeyinde Öznitelikler (Class-Level Attributes) Ø Sınıf Özniteliklerinin Değiştirilmesi Ø Alternatif Yapıcılar (Alternative Constructors) Ø Sınıf Kalıtımı (Class Inheritance) Ø Kalıtımın Anlaşılması Ø Alt Sınıf (Subclass) Oluşturma Ø Kalıtım Yoluyla İşlevselliğin Özelleştirilmesi Ø Metot Kalıtımı (Method Inheritance) Ø Sınıf Özniteliklerinin Kalıtımı Ø Bir DataFrame’in Özelleştirilmesi Bölüm 3:Standart Python ile Bütünleştirme (Integrating with Standard Python) Bu bölümde, aynı veriyi depolayan nesnelerin eşit kabul edilmesini nasıl sağlayacağınız, nesnelerin dize (string) gösterimlerinin nasıl tanımlanıp özelleştirileceği ve hatta yeni hata (exception) türlerinin nasıl oluşturulacağı ele alınmaktadır. Etkileşimli alıştırmalar aracılığıyla, sınıflarınızı standart Python veri türlerine daha benzer biçimde çalışacak şekilde nasıl ileri düzeyde özelleştirebileceğiniz öğretilmektedir. Ø İşleç Aşırı Yükleme: Karşılaştırma (Operator Overloading: Comparison) Ø Eşitlik İşlecinin Aşırı Yüklenmesi (Overloading Equality) Ø Sınıf Eşitliğinin Denetlenmesi (Checking Class Equality) Ø Karşılaştırma ve Kalıtım (Comparison and Inheritance) Ø İşleç Aşırı Yükleme: Dize Gösterimi (Operator Overloading: String Representation) Ø Dize Biçimlendirme İncelemesi (String Formatting Review) Ø Nesnelerin Dize Gösterimi (String Representation of Objects) Ø İstisnalar (Exceptions) Ø İstisnaların Yakalanması (Catching Exceptions) Ø Özel İstisnalar (Custom Exceptions) Ø İstisna Hiyerarşilerinin Yönetilmesi (Handling Exception Hierarchies)
Bölüm 4:Sınıf Tasarımında En İyi Uygulamalar (Best Practices of Class Design) Sınıflar kalıtım için nasıl tasarlanmalıdır? Python’da gizli (private) öznitelikler var mıdır? Öznitelik erişimini denetlemek mümkün müdür? Bu bölümde, sınıf tasarımına ilişkin en iyi uygulamalar öğrenilirken bu soruların (ve daha fazlasının) yanıtları ele alınmaktadır. Ø Kalıtım ve Çok Biçimlilik İçin Tasarım (Designing for Inheritance and Polymorphism) Ø Çok Biçimli Metotlar (Polymorphic Methods) Ø Kare ve Dikdörtgen (Square and Rectangle) Ø Veri Erişiminin Yönetilmesi: Gizli Öznitelikler (Managing Data Access: Private Attributes) Ø Öznitelik Adlandırma Kuralları (Attribute Naming Conventions) Ø Dahili Özniteliklerin Kullanımı (Using Internal Attributes) Ø Özellikler (Properties) Ø Özellikler Ne İşe Yarar? (What Do Properties Do?) Ø Özelliklerin Oluşturulması ve Ayarlanması (Create and Set Properties) Ø Salt Okunur Özellikler (Read-Only Properties) Not: Program içeriği, uygulama ve pratik çalışmalar açısından zengindir. İleride Python ile veri analizi eğitimi düzenleyebiliriz |
Maksimum 500 karakter
Maksimum 150 karakter
işaretli alanların doldurulması zorunludur.
Bu istek formundaki verilerin 6698 Sayılı Kişisel Verileri Koruma Kanunu 3,5,8 ve 9. "Açık Rıza" ile ilgili maddelerin ilgili fıkraları göz önüne alınarak işlenmesini kabul ediyorum.