Python Programlama Dili ve Uygulamaları


  1. Kısım: Python Programlama Dili (230 Saat)

Genel Tanıtım

Python genel amaçlı, nesne yönelimli, fonksiyonel özellikleri olan, çok modelli ve nispeten kolay öğrenilebilen bir programlama dilidir. Özellikle veri analizinde ve çözümlenmesinde, yapay zeka ve makine öğrenmesinde tercih edilmektedir. Bu özellikleri nedeniyle Python Programlama Dilinin popülaritesi özellikle son yıllarda popülaritesi oldukça artmıştır.

Kursun temel özellikleri şöyle betimlenebilir:

Bu kurs Python Programlama Dilini ayrıntılı biçimde uygulamalı olarak öğretmeyi hedeflemektedir. Aynı zamanda bu kurs Yapay Zeka ve Makine Öğrenmesi kursu için de bir ön aşama olarak işlev görmektedir.
Kurs Python Programlama Dilini ayrıntılı biçimde ve uygulamalı olarak öğretme iddiasındadır.
Kurs Yapay Zeka ve Makine Öğrenmesi kursu için bir hazırlık kursu işlevini de görmektedir.

  • Temel Kavramlar

    • Programlama Dillerinin Tarihsel Gelişimi
    • Python Programlama Dilinin Tarihsel Gelişimi
    • Python Dili, Python Gerçekleştirimleri ve Python Dağıtımları
    • Python Programlama Dilinin Temel Özellikleri
    • Python Neden Son Dönemlerde Popülerlik Kazanmıştır?
    • Python Ortamının Kurulumu
    • Temel Bilgisayar Mimarisi
    • İşletim Sistemleri
    • Gömülü Sistemler
    • Çevirici Programlar (Translators), Derleyiciler (Compilers) ve Yorumlayıcılar (Interpreters)
    • IDE Kavramı
    • Mülkiyete Sahip Yazılımlar ve Açık Kaynak Kodlu Yazılımlar
    • Doğal Kodlu ve Ara Kodlu Çalışma Sistemleri
    • Dil Kavramı
    • Dillerde Sentaks ve Semantik
    • Bilgisayar Dilleri ve Programlama Dilleri
    • Programlama Dillerinin Sınıflandırılması
    • Programlama Dillerinin Sentakslarının Açıklanması İçin Kullanılan Notasyonlar
  • Python Programlama Diline Giriş

    • Komut Yorumlayıcı Ortamda (REPL) Çalışma
    • Atom (Token) Kavramı ve Atomların Sınıflandırılması
    • Boşluk Karakterleri (White Space)
    • Dinamik Tür Sisteminin Anlamı
    • Python’da Temel Veri Türleri
    • Değiştirilebilir (Mutable) ve Değiştirilemez (Immutable) Tür Kavramları
    • Python’da Değişkenlerin ve Nesnelerin Yaratılması
    • Python’da Sabitler
    • Adres Kavramı ve Nesnelerin Adresleri
    • Değişkenler ve Nesneler Arasındaki İlişki
    • Python’da Dinamik Tür Sisteminin Gerçekleştirilme Biçimi
    • Python Standart Kütüphanesi Nedir ve Nelerden Oluşmaktadır?
    • Fonksiyon ve Metot Kavramları
    • Built-in Fonksiyon ve Sınıf Kavramları
    • Operatör Kavramı, Operatörler Arasındaki Öncelik İlişkileri
    • Python’da Operatörler
    • Tür Dönüştürmeleri
    • input ve print Fonksiyonlarının Ayrıntıları
    • Python Programlarının Yazılması ve Çalıştırılması
  • Python’da Temel Veri Yapıları

    • Dolaşılabilir (Iterable) Nesne Kavramı
    • Range Fonksiyonu
    • Listeler
    • Listeler Üzerinde İşlemler
    • Listeler Üzerinde Dilimleme İşlemleri (List Slicing)
    • Listelerin Açılması (List Unpacking)
    • Listelerle Çok Boyutlu Dizilerin Oluşturulması
    • Demetler (Tuples)
    • Demetler Üzerinde İşlemler
    • Demetlerin Açılması (Tuple Unpacking)
    • Kümeler (Sets)
    • Kümeler Üzerinde İşlemler
    • Değiştirilemez Kümeler (Frozen Sets)
    • Sözlükler (Dictionaries)
    • Sözlükler Üzerinde İşlemler
    • String’ler
    • String’ler Üzerinde İşlemler
    • String’lerin Dilimlenmesi
    • len Fonksiyonu ve in Opereratörünün İşlevleri
  • Python’da Deyimler (Statements)

    • Farklı Türlerin Birbirleriyle İşleme Sokulması
    • Satırların Girinti Düzeyleri (Indent Level)
    • Deyim Kavramı ve Deyimlerin Sınıflandırılması
    • İfadesel Deyimler (Expression Statements)
    • Bileşik Deyimler (Compound Statements)
    • Suite Kavramı
    • If Deyimi
    • While Döngüleri
    • For Döngüleri
    • Break ve continue Deyimleri
    • Koşul Operatörü
    • Pass Deyimi
  • Fonksiyonların Tanımlanması ve Fonksiyonlarla İşlemler

    • Fonksiyonların Tanımlanması ve Fonksiyon Nesneleri
    • Fonksiyon İsimlerinin Anlamı
    • Fonksiyonların Parametre Değişkenleri
    • Fonksiyonların *’lı ve **’lı Parametreleri
    • Fonksiyon Çağrılarında Argümanların Kullanımı
    • *’lı **’lı Argümanlar
    • Fonksiyon Parametrelerinde Tür Kontrolü
    • İç İçe Fonksiyon Tanımlamaları
  • Modüller

    • Modüllerin Oluşturulması
    • Modüllerin import Edilmesi
    • Modül İsimlerinin Anlamı
    • Sys.path Listesinin Anlamı
    • Python Programlarında Çalışma Dizinlerinin Değiştirilmesi
    • Modülün import Edilmesiyle Çalıştırılması Arasındaki Farklar
  • Tamamlayıcı Konular

    • Python’da Rastgele Sayıların Elde Edilmesi
    • Değişkenlerin Faaliyet Alanları (Scope)
    • Değişkenlerin Ömürleri
    • Enumerate, map, filter ve zip Fonksiyonları
    • Python Yorumlayıcısında İsim Arama Mekanizması
    • Bytes ve bytearray Türleri
    • Permütasyon ve Kombinasyon İşlemleri
  • İçlemler (Comprehensions)

    • İçlemlerin Genel Sentaks Biçimleri
    • Liste İçlemleri (List Comprehensions)
    • Küme İçlemleri (Set Comprehensions)
    • Sözlük İçlemleri (Dictionary Comprehensions)
    • İçlemler nerede Kullanılır ve İçlemlere Neden Gereksinim Duyulmaktadır?
  • Sınıflar

    • Nesne Yönelimli Programlama Modeli ve Sınıf Kavramı
    • Sınıfların Tanımlanması
    • Sınıflar Türünden Nesnelerin Yaratılması
    • Sınıf Değişkenleri
    • Metotların Tanımlanması ve self Parametresinin Anlamı
    • Sınıfların Dunder (Başında ve Sonunda İki Alt Tire Bulunan) Metotları
    • Sınıfların _new_ ve _init_ Metotları
    • Python Standart Kütüphanesindeki Yardımcı Sınıflarla İlgili Alıştırmalar
    • Sınıfların Öznitelikleri (Class Attributes)
    • Sınıfların Örnek Öznitelikleri (Instance Attributes)
    • Sınıf İsimlerinin Anlamı
    • Nesne Yönelimli Programlama Tekniğinde Sınıflar Arasındaki İlişki Biçimleri
    • Sınıflarda Türetme İşlemleri (Inheritance)
    • Çoklu Türetmeler (Multiple Inheritance)
    • Türetme Durumlarında Taban Sınıfın _init_ Metodunun Çağrılması
    • Super Fonksiyonu
    • Sınıflarda Kapsülleme (Encapsulation)
    • Çokbiçimlilik (Polymorphism)
    • Sınıfların _str_ ve _repr_ Metotları
    • Python’da Çöp Toplayıcı Mekanizma
    • Deterministik Çöp Toplama ve Sınıfların _del_ Metotları
    • Operatör Metotları
    • Sınıfların Statik Metotları
    • Sınıfların Sınıf Metotları
    • Sınıflardaki Diğer Özel Dunder Metotları
    • Dolaşılabilir (Irterable) Sınıfların Oluşturulması
    • Property Kavramı ve Property Kullanımı
    • Betimleyiciler
    • Sınıfların _get_, _set_ ve _delete_ Metotları
  • Dekoratörler

    • Dekoratörlerin Anlamı
    • Fonksiyon Dekoratörleri
    • Sınıf Dekoratörleri
    • Önemli sınıf Dekaratörleri
  • Exception Mekanizması

    • Python’da Exception Mekanizmasının Kullanımı
    • Exception’ların oluşturulması ve yakalanması
    • Exception Sınıflarının Yazılması
    • Çok Karşılaşılan Exception Sınıfları
    • With deyimi
  • Python’da Dosya İşlemleri

    • Dosya İşlemleri
    • Dosyaların Açılması ve Kapatılması
    • Dosyalarda Yazma ve Okuma İşlemleri
    • Text ve Binary Dosyalar
    • Text Dosyalarda Karakter Kodlaması (Character Encoding)
    • Karakter Kodlama Dönüştürmeleri
  • Üretici Fonksiyonlar ve Lambda İfadeleri

    • Üretici Fonksiyon (Generators) Kavramı
    • Üretici Fonksiyonların Tanımlanması ve Kullanılması
    • Lambda İfadeleri
  • Diğer Önemli Built-In Fonksiyonlar

    • Eval Fonksiyonu
    • Exec Fonksiyonu
    • Compiler Fonksiyonu
    • Property Fonksiyonu
    • Locals Fonksiyonu
  • Python’da Paketler (Packages)

    • Paket Kavramı
    • Paketlerin Oluşturulması ve import Edilmesi
    • Paketlerdeki _init_.py Dosyasının Anlamı
    • İç İçe Paketlerin Oluşturulması
    • Paket Yönetimi
  1. Kısım: Python Uygulamaları (230 Saat)
  • Genel Amaçlı Bazı İşlemlerin Gerçekleştirilmesi

    • Standart Kütüphanede Tarih ve Zaman İşlemleri Yapan Fonksiyonların ve Sınıfların Kullanımı
    • Dizin ve Dosyalar Üzerinde İşlemler Yapan Fonksiyonların ve Sınıfların Kullanımı
    • İşletim Sistemi İle İlgili Aşağı Seviyeli Önemli Bazı İşlemlerin Yapılması
    • Python’da Log’lama İşlemleri
    • Python’da Debugger Kullanımı
    • Zaman Ölçme İşlemleri ve Profiling
    • Sisteme İlişkin Önemli Bilgilerin Elde Edilmesi ve Değiştirilmesi
    • Çöp Toplayıcı Mekanizmanın Ayrıntıları
    • Nesnelerin Seri Hale Getirilmesi
    • Programların Komut Satırı Argümanları
  • Python’da Veritabanı İşlemleri

    • Veritabanı Yönetim Sistemleri (VTYS)
    • SqLite, MySQL ve SqlServer VTYS’leri Hakkında Temel Bilgiler
    • İlişkisel Veritabanları
    • Temel SQL Komutları
    • Python’da VTSY’e Bağlanma
    • VTYS’lere SQL Komutlarının Gönderilmesi
    • VTYS’lerle Sorgulama İşlemleri
    • Python’da Anahtar Değer Temelli DBM Veritabanı Kullanımı
  • Python’da Thread Uygulamaları

    • Thread Kavramı
    • Thread’lerin Yaratılması ve Sonlanması
    • Thread’lerle İlgili Temel İşlemler
    • Thread’lerin Stack’leri
    • Thread’lerin Bloke Olması
    • Thread Senkronizasyonu
    • Lock (Mutex) Mekanizması
    • Semaphore Nesnelerinin Kullanımı
    • Tipik Senkronizasyon Problemlerinin Ele Alınması
    • Senkronize Kuyruk Nesneleri
    • Python’da Paralel Programlama
    • Prosesler Arası Haberleşme Kavramı
    • Paylaşılan Bellek Alanlarının Kullanımı
    • Boru Mekanizmasının Kullanımı
  • Python’da GUI Uygulamaları

    • GUI Ortamlarında Mesaj Tabanlı Çalışma Modeli
    • PyQt Kütüphanesinin Kullanılması
    • Tkinter Kütüphanesinin Kullanılması
  • Python’da Proseslerarası Haberleşme ve Network Ağ Haberleşmeleri

    • IP Protokol Ailesi
    • Python’da Soket Programlama
    • Client-Server Çalışma Modeli
    • TCP/IP Uygulamaları
    • UDP/IP Uygulamaları
    • E-Posta Alma ve Gönderme
    • FTP İşlemleri
    • Dağıtık Uygulamaların Temelleri
  • Çeşitli Dosya Formatları Üzerinde İşlemler

    • Dosya Sıkıştırma ve Açma İşlemleri
    • CSV Dosyalarıyla ve Konfigürasyon Dosyalarıyla İşlemler
    • Temel XML İşlemleri
    • Temel HTML Parse İşlemleri
  • Numpy Kütüphanesinin Kullanımı

    • Numpy Kütüphanesinde Temel İşlemler
    • Numpy Dizileri İle Vektörel İşlemler
    • NumPy Dizilerinde İndeksleme ve Dilimleme
    • NumPy Kütüphanesinde Vektörel İşlemler Yapan Fonksiyonlar
    • NumPy ile Lineer Cebir İşlemleri
    • NumPy Dosya İşlemleri
    • İleri Düzey Numpy İşlemleri
  • Sembolik Matemetiksel İşlemler ve SymPy Kütüphanesinin Kullanımı

    • SymPy Kütüphanesinin Tanıtımı
    • SymPy’da İfadelerin Oluşturulması ve İfade Ağaçları
    • İfadelerin Sadeleştirilmesi
    • İfadelerin Açılması
    • İfadelerin Değerlerinin Elde Edilmesi
    • İfadeler Üzerinde Matematiksel İşlemler
  • Python’da Grafik Çizimleri ve PyPlot Kütüphanesinin Kullanımı

    • Grafik Çizimi İle İlgili Temel Nesneler
    • Grafiklerin Çizdirilmesi
    • Çizim Nesnelerine İlişkin Ayrıntılar
    • Çizgi Grafikleri, Çubuk Grafikleri, Histogram’lar, Pasta Grafikleri
  • Pandas Kütüphanesinin Kullanımı

    • Pandas Kütüphanesinin Amacı
    • Seriler Üzerinde İşlemler
    • Seriler Üzerinde İndeksleme
    • Seriler Üzerinde Dilimleme
    • DataFrame Nesneleri
    • DaraFrame Üzerinde Satır ve Sütun Seçme İşlemleri
    • DataFrame’ Sütun Ekleme ve Silme
    • DataFrame Üzerinde Aritmetik İşlemler
    • CSV Dosyalarının DataFrame Olarak Okunması
    • Eksik Veriler Üzerinde İşlemler
    • Verilerin Gruplanması ve Birleştirilmesi
    • Pandas’ta Verilerin Görüntülenmesi
  • Özel Bazı Konular

    • Şifreleme İşlemleri
    • Pyton’da Yazılım Test İşlemleri
    • Düzenli İfadelerle İşlemler (Regular Expressions)
    • Python’dan C ve C++ Kodlarının Çağrılması

* Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.

* Kurs ücreti duyuru sayfasında belirtilmektedir.