Python Programlama Dili ve Uygulamaları


Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

  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ı

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

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

* Kurs ücreti duyuru sayfasında belirtilmektedir.

 

C# ve ASP.NET Core MVC


Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

C# ve ASP.NET Core MVC

Açıklama: Bu kurs içerik bakımından iki ana kısma ayrılmıştır; C# programlama dili ve ASP.NET MVC Core framework’ü.

İlk kısımda C# dilinin sentaks kuralları, nesne yönelimli programlama ve .NET kütüphanesinin önemli sınıfları ele alınmaktadır.

İkinci kısım ise ASP.NET MVC Core isimli framework ile modern ve platform bağımsız web uygulamaları/servislerinin geliştirilmesine odaklıdır. Bu kısımda ASP.NET Core haricinde (SOLID, UML, Pattern, Idiom, AntiPattern, …) gibi pek çok önemli konu ve teknolojiye de (Entity Framework, SQL Server, RabbitMQ, Git, …) değinilmekte yanı sıra pek çok örnek uygulama geliştirilmektedir.

Kısım 1 (.NET ve C#’a Giriş)

  • .NET ortamına ilişkin temel kavramlar (JIT, MSIL, CLR, CTS, CLS…)
  • Platform bağımsız çalışma olgusu
  • Çevirici programlar, derleyiciler yorumlayıcılar
  • .NET ortamının aşağı seviyede incelenmesi ve Java ile karşılaştırılması
  • Atom kavramı
  • Console sınıfının etkin kullanımı

.NET Tür Sistemi

  • Değişkenler, Sabitler
  • Faaliyet alanı ve Ömür kavramı
  • Type Inference

Metotlar/Fonksiyonlar

  • Parametre ve Argüman kavramları
  • ref/out parametreler
  • Default argüman alan metotlar
  • Variadic (değişken sayıda parametre alan) metotlar
  • İsimlendirilmiş parametreler
  • Overloading

Operatörler

Akış Kontrol deyimleri

  • if ve switch deyimleri
  • Koşul Operatörü
  • while ve do while döngü deyimleri
  • for ve foreach döngü deyimleri
  • break ve continue deyimleri

Tür dönüştürmeleri

Nesne Yönelimli Programlama (OOP) Paradigması

  • Sınıf ve nesne kavramları
  • Referans türleri ve değer türleri
  • Referans (adres) kavramı
  • new operatörü
  • Sınıfın static olmayan veri elemanlarına erişim ve nokta operatörü
  • Sınıfın static olmayan veri elemanlarının varsayılan değerleri
  • Referans parametreli metotlar
  • Referans geri dönüş değerli metotlar
  • Sınıfın static veri elemanları
  • Sınıfın non-static ve static metotları
  • Sınıfın non-static metotları içerisinde non-static ve static elemanlara doğrudan erişim durumu
  • Sınıfın static metotları içerisinde non-static ve static elemanlara doğrudan erişim durumu

Sınıfların başlangıç metotları (constructors)

  • Nesne oluşturulması adımları
  • Sınıfın varsayılan (default) başlangıç metodu
  • Başlangıç metotlarının overload edilmesi
  • Birincil başlangıç metotları (primary constructor’s)

İsim alanları (Namespace)

  • Paketleme ve granülasyon kavramları
  • Farklı isim alanlarındaki sınıflara erişim
  • İç içe isim alanı bildirimleri
  • using anahtar sözcüğü

İsim arama

  • Niteliksiz (unqualified) isim arama
  • Nitelikli (qualified) isim arama

Diziler (Arrays) ve uygulamalar

  • Dizi referansları
  • Diziye ilişkin nesnelerin bellekteki durumu
  • Dizi elemanlarına erişim
  • Dizilere ilk değer verilmesi
  • Dizilerin metotlara geçirilmesi: dizi referansı parametreli metotlar
  • Dizi referansı döndüren metotlar
  • Sıralama algoritmaları: (bubble sort, selection sort, quick sort)
  • char türden diziler
  • char türden diziler ve String sınıfı
  • Referans dizileri
  • Referans dizilerine ilkdeğer verilmesi
  • String türden diziler
  • Dizi dizileri
  • Dizi dizilerinin çok boyutlu dizi gibi kullanılması
  • Dizi dizilerine ilk değer verilmesi

Sınıflarda temel erişim kuralları

  • public erişimcisi
  • private erişimcisi
  • protected erişimcisi
  • internal erişimcisi
  • file erişimcisi
  • Başlangıç metodunun private, protected ya da internal olması durumu
  • Singleton ve Factory tasarım kalıpları
  • Encapsulation kavramı, Property ve AutoProperty’ler
  • Object Initializer kullanımı

Enum’lar

  • enum sabitleri
  • enum sınıfların sabit dışındaki elemanları
  • enum sınıfların başlangıç metotları (constructor)
  • enum’ların karşılaştırılması
  • enum’ların kullanımı

Sınıflar arası ilişkiler

  • Association, Composition, Aggregation, Inheritance, Dependency
  • UML modelleme diline giriş

Türetme (inheritance)

  • Base class (taban sınıf) ve derived class (türemiş sınıf) kavramları
  • Başlangıç metodu içerisinde taban sınıfın başlangıç metodunun çağrılması
  • Başlangıç metodu içerisinde taban sınıfa ait istenilen bir başlangıç metodunun çağrılması
  • Başlangıç metodu içerisinde başka bir başlangıç metodunun çağrılması
  • protected bölümün anlamı
  • Object sınıfı

Taban sınıf ve türemiş sınıf arasındaki dönüşümler

  • Yukarıya doğru dönüşüm (upcasting)
  • Aşağıya doğru dönüşüm (down-casting)
  • is opetörü
  • Otomatik kutulama (auto-boxing) ve otomatik kutuyu açma (auto-unboxing)
  • sealed sınıflar
  • this referansının anlamı ve kullanımı
  • null referans kavramı

Çöp Toplayıcı (garbage collector)

  • Çöp toplayıcı’nın çalışma biçimi
  • Referans sayma, GC Sınıfı
  • IDisposable ve using anahtar sözcüğü ile Dispose kalıbının idiomatik uygulaması

Önemli Veri Yapılarına İlişkin Sınıflar

  • ArrayList, List
  • HashTable, Dictionary, SortedList
  • Tupple

Çok biçimlilik (Polymorphism)

  • Sanal metotlar ve Overriding
  • base referansı
  • Override edilen metot içerisinde taban sınıfın aynı metodunun çağrılması (augmentation)
  • Override edilen metodun erişim belirleyicisinin erişim anlamında yükseltilmesi
  • sealed metotlar

Soyut sınıflar ve metotlar (abstract classes and methods)

  • Soyut sınıf ve metotların anlamı
  • Soyut metotların override edilmesi
  • Soyut metotların override edilmemesi durumu
  • Soyut sınıfların taban sınıf referansı olarak kullanılması
  • Soyut sınıfların başlangıç metotları

Exception Handling

  • Exception kavramı kullanımı
  • throw anahtar sözcüğü ve bir exception nesnesinin fırlatılması
  • Try/Catch/Finally mekanizması
  • Yeniden fırlatma (rethrow)
  • İçiçe try bloklarının bulunması durumu
  • Özgün Exception sınıfları
  • checked ve unchecked exception sınıfları
  • Önemli exception sınıfları

Arayüzler (Interface’s)

  • Bir sınıfın desteklediği arayüzler ve metotların override edilmesi
  • Arayüzler ile abstract sınıflar arasındaki farklar
  • Arayüzler arası tür dönüştürme ayrıntıları
  • Sıkça kullanılan bazı arayüzler

Generic’ler ile Türden Bağımsız İşlemler

  • Generic sınıflar ve metotlar
  • Generic sınıflarda türetme işlemleri
  • Generic sınıflarda new operatörü ile <> (diamond syntax) kullanımı
  • Generic arayüzler
  • Kısıtlamalar (constraint’s)
  • Generic sınıflarda alt sınır ve üst sınır belirlenmesi (invariant, covariant ve contra-variant)

Extension metotlar
Delegate (Temsilci) ve Event’ler
Lambda İfadeleri
Thread ve Process Sınıfları
Reflection ve Metadata kavramları
Attribute sınıfları
Bit seviyesinde işlemler ve ilişkili operatörler
Dinamik kütüphanelerin (DLL) oluşturulması ve kullanılması
Dosya işlemleri
ADO.NET ile VeriTabanı İşlemleri
Asenkron Çalışma ve TPL (Task Parallel Library)

Kısım 2 (ASP.NET MVC Core ve C# ile Web Uygulamaları Geliştirmek)

Middleware kavramı
Request ve Response Manipülasyonları
Dependency Inversion, Inversion Of Control
Dependency Injection kavramı
Katmanlı Mimarı Kullanarak Uygulama Geliştirme
Repository, UnitOfWork kalıpları
Katmanlı mimaride exception handling
Razor sentaksı
MVC (Model ViewController) kalıbı
Razor Engine ve Razor sentaksı
Dinamik tür sistemi ve Expando Nesneler
Transfer Data (ViewBag, ViewData, TempData)
Tag Helper’lar
Validasyon
Blazor Framework
Entity Framework Core ile veritabanı işlemleri
Container ve Docker Kavramları
Container ortamında ASP.NET Core uygulamalarının çalıştırılması
ASPNET Core Güvenlik
Authentication, Authorization, OAuth
Javascript programlama dili
WebAPI ile Rest Servislerin Yazılması
JWT (Json Web Token)
CQRS
Mikroservis Mimarisi
LibMan ve Npm Paket Yönetim Sistemleri
Cookie (Çerezler)
Session Mekanizması
Onion Architecture
RabbitMQ, MSMQ gibi mesaj kuyruklama altyapılarının kullanımı
Ve diğerleri..

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

Kurs ücreti duyuru sayfasında belirtilmektedir.

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

Gömülü Linux Sistemleri – Geliştirme ve Programlama


Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

Online Gömülü Linux Sistemleri – Geliştirme ve Programlama Kursu (320 saat)

  • Giriş ve Temel Bilgiler

    • Gömülü Sistemlere Genel Bir Bakış
    • Gömülü Sistemlerin Karakteristik Özellikleri
    • Bir Kaynak Yöneticisi Olarak İşletim Sistemi
    • İşletim Sistemlerinin Alt Sistemleri
    • Linux Sistemlerinin Tarhihsel Gelişimi
    • Gömülü Linux Sistemi Ne Anlama Gelmektedir?
    • Gömülü Linux Sistemlerinin Masaüstü Linux Sistemlerinden Farklılıklları
    • Mikroişlemci, Mikrodenetleyici, SOC (System on Chip) ve SBC (Single Board Computer) Kavramları
    • Gömülü Linux Sistemleri için Kullanılan Donanımlar, Raspberry Pi, Beaglebone ve Diğerleri
    • Gömülü Sistemlerin Çevre Birimleri
    • Gömülü Sistemlerde Bellek Birimleri
    • Gömülü Sistemler İçin Emülatörler ve QEMU
  • Single Board Bilgisayarlar

    • Single Board Bilgisayar Nedir?
    • Yaygın Kullanılan Single Board Bilgisayarlar
    • Single Board Bilgisayarların Uygulama Alanları
    • Single Board Bilgisayarların Sınırlılıkları ve Handikapları
  • Raspberry Pi Donanımının Özellikleri

    • Raspberry Pi Donanımındaki CPU, GPU ve RAM Özellikleri
    • ARM İşlemcilerinin Özellikleri
    • ARM işlemcilerinde Cortex Türleri ve Komut Kümeleri Çeşitliliği
    • SD Kart Arabirimi
    • GPIO Arabirimi
    • I2C ve SPI Veri Yolları
    • USB Arabirimi
    • Video/Audio Özellikleri
    • Ethernet ve Wireless Birimleri
    • HDMI ile Bağlantı
    • Güç Kaynağının Olması Gereken Özellikleri ve Soğutucu Gereksinimi
    • Raspberry Pi Donanımında Kullanılan Soketler ve Kablolar
  • BeagleBone Black Donanımının Özellikleri

    • BeagleBone Black Donanımındaki CPU, GPU ve RAM Özellikleri
    • SD Kart Arabirimi
    • GPIO Arabirimi
    • I2C ve SPI Veri Yolları
    • USB Arabirimi
    • Video/Audio Özellikleri
    • Ethernet ve Wireless Birimleri
    • HDMI ile Bağlantı
    • Güç Kaynağının Olması Gereken Özellikleri ve Soğutucu Gereksinimi
    • BeagleBone Donanımında Kullanılan Soketler ve Kablolar
  • Gömülü Sistemlere Linux İşletim Sisteminin Yüklenmesi ve Kullanıma Hazır Hale Getirilmesi

    • Uygun Linux Dağıtımının Belirlenmesi
    • Gömülü Linux Sistemleri İçin Kullanılan Dağıtımlar ve Özellikleri
    • Raspberry Pi Donanımlarında Kullanılan Yaygın Dağıtımlar
    • Linux Dağıtımlarının Gömülü Sisteme Yüklenmesi
    • Diskin Bölümlendirilmesi ve Buna İlişkin Komutlar ve Utility Programlar
    • Toolchain Kavramı
    • Doğal (Native) ve Çapraz (Cross) Toolchain’ler
    • Gömülü Sistemler İçin Çapraz Derleyiciler (Cross Compilers)
    • Ethernet ve Wireless Network Bağlantılarının Sağlanması
  • Linux Sistemlerinde Dosya Sistemleri

    • ext2, ext3, ext4, xfs Dosya Sistemlerinin Genel Özellikleri
    • Dosya Sistemlerinin Mount Edilmesi
    • Dosya Sistemlerindeki Temel Dizinler ve Anlamları
    • Dosya Bloklerı, i-node Kavramı
    • Linux’ta Kullanılan Dosya Sistemlerinin Aşağı Seviyeli Tasarımları
    • Dosya Sistemlerine Yönelik Aygıt Sürücüler
    • Dosya Sistemi İle İlgili Komutlar ve Utility Programlar
    • tmpfs ve ramfs Dosya Sistemleri ve Linux’ta Ramdisk Kullanımı
  • Ekran ve Görüntü Birimlerinin Programlanması

    • Terminal Aygıt Sürücüleri
    • Terminal Aygıt Sürücülerinin Programlanması
    • X Window Sistemleri
    • X Window Sistemlerinin Tasarımı ve Programlanmasıne İlişkin Temel Bilgiler
    • Qt Framework hakkında Temel Bilgiler ve Basit Örnekler
    • Framebuffer Kavramı ve Kullanım Alanları
    • Framebuffer Aygıt Sürücüleri
    • Linux’ta Framebuffer Kütüphanesinin Kullanımı
  • Çevre Birimlerinin Programlanması

    • USB Arabiriminin Özellikleri
    • libusb Kütüphanesinin Kullanımı
    • Raspberry Pi ve BeagleBone Donanımlarında GPIO Uçlarının Kullanımı
    • GPIO Uçlarının Programlanmasına İlişkin Örnekler
    • I2C ve SPI Arayüzlerinin Kullanılması
    • UART Kullanımı
    • Raspberry Pi ve BeagleBone Black İçin Tasarlanmış GPIO Uçlarını Kullanan Hazır Kartlar (Add-on Boards)
    • Sensörlerin İşlevleri ve Sensörlerin Kullanımına İlişkin Örnekler
    • LCD Kullanımına İlişkin Örnekler
  • Linux Çekirdeğinin Konfigüre Edilmesi ve Derlenmesi

    • Konfigürasyon İşleminin Anlamı
    • Önemli Konfigürasyon Parametreleri
    • Kernel Modüllerinin Çekirdeğe Eklenmesi
    • Kernel Modüllerinin Bağımlılıkları
    • Kernel Modülleri ile İlgili Araçlar, Komutlar ve Utility Programlar
    • GNU Make Aracının Temel Düzeyde Kullanımı ve Make Dosyalarının Oluşturulması
    • Linux Çekirdeğinin Derlenmesi
  • Gömülü Linux Sistemlerinde Kullanılan Ön Yükleyici (Boot Loader) Programlar

    • Ön Yükleyici Kavramı ve Ön Yükleyicileri İşlevleri
    • Birinci ve İkinci Düzey Ön Yükleyiciler
    • Raspberry Pi ve BeagleBone Black Ön Yükleyici Mekanizması
    • U-Boot (Das U-Boot) Önyükleyicisinin Genel Yapısı ve Kullanımı
  • Linux Sistemlerinin Başlatılma Süreci

    • Masaüstü ve Gömülü Sistemlerde Linux Sistemlerinin Başlatılması
    • Kernel Konfigürasyon Parametrelerinin Boot Sürecindeki Etkileri
    • Linux Çekirdeğinin Yüklenmesine İlişkin Aşamalar
    • Boot Süreci Sırasında Dosya Sistemlerinin Mount Edilmesi
    • Boot Sürecinde Etkili Olan Script Dosyaları
  • Linux Sistemlerinde Kullanılan Init Paketleri ve Systemd Init Paketinin Kullanımı

    • Init Paketlerinin İşlevi
    • SysVInit ve Upstart Paketleri Hakkında Temel Bilgiler
    • Systemd Paketinin Kurulumu
    • Systemd Paketinin İşlevleri
    • Daemon Kavramı
    • Unit Dosyalarının Oluşturulması ve Servislerin Yönetilmesi
    • Systemd İle Servis Yönetiminin Ayrıntıları
    • Systemd Paketine İlişkin Komutların Kullanımı
  • Aygıt Ağacı (Device Tree)

    • Aygıt Ağacı Nedir ve Ne Amaçla Kullanılmaktadır?
    • Aygıt Ağaçlarına Neden Gereksinim Duyulmuştur?
    • Aygıt Ağaçlarının Genel Yapısı
    • Agıt Ağaçlarının Oluşturulması
    • Aygıt Ağaçlarının Derlenmesi ve Tersine Derlenmesi (Decompile Edilmesi)
    • Aygıt Ağaçları ve Boot Süreci
    • Aygıt Ağaçları ve Aygıt Dosyaları
    • Sistem Çalışırken Aygıt Konfigürasyonlarının Ayarlanması
  • Yocto Projesi

    • Yocto Projesi Nedir?
    • Poky ve bitbake Kavramları
    • Katman (Layer) Kavramı ve Kullanımı
    • Image Kavramı ve Kullanımı
    • Image İsimleri
    • Recipe Kavramı ve Kullanımı
    • Log Mekanizması
    • Build İşlemi
  • Buildroot Projesi

    • Buildroot Projesi Nedir?
    • Buildroot Çalışma Mekanizması
    • Buildroot Konfigürasyonu
    • Sistemin İsteğe Göre Özelleştirilmesi (Customization)
    • Buildroot’a Yeni Paketlerin Eklenmesi
    • Build İşlemi
  • Linux Sistemlerinde Kullanılan Log Sistemi

    • log Mesajlarının User Mod ve Kernel Modda Oluşturulması
    • syslod Daemon Programın İşlevi
    • Loglamanın User Modda Programlama Yoluyla Yapılması
  • Linux Daemon (Servis) Programlarının Yazımı

    • Daemon Programların Anlamı
    • Daemon Programların Oluşturulması ve Devreye Sokulması
    • Daemon Programların Konfigüre Edilmesi
    • User Mod ve Kernel Mod Daemon Kavramı
    • Linux Kernel İçerisindeki Kernel Mod Daemon’lar ve İşlevleri
  • Procfs ve sysfs Dosya Sistemlerinin Kullanımı

    • proc Dosya Sisteminin Genel Yapısı ve Kullanımı
    • sys Dosya sisteminin Genel Yapısı ve Kullanımı
  • Linux Aygıt Sürücülerinin Yazımı

    • Aygıt Sürücülerinin Anlamı
    • Linux Aygıt Sürücü Mimarisinin Tanıtımı
    • Linux Çekirdek Modüllerinin Yazımı
    • Çekirdek Modüllerinin Yüklenmesi ve Boşaltılması
    • Karakter Aygıt Sürücülerinin Yazımı
    • Aygıt Sürücülerde Senkronizasyon İşlemleri
    • Aygıt Sürücülerde Bekleme Kuyruklarının Yaratılması ve Bloke İşlemlerinin Sağlanması
    • Aygıt Sürücülerde Bellek Tahsisatları
    • Aygıt Sürücülerin IO Portlarını Kullanması
    • Aygıt Sürücülerde Kesme İşlemlerinin Yönetilmesi
    • Blok Aygıt Sürücülerinin Yazımı
    • Blok Aygıt Sürücülerinde Bellek Haritalaması ve DMA Kullanımı
    • USB Aygıt Sürücüleri
    • Kernel Thread’lerin Yaratılması ve Kullanımı

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

Kurs ücreti duyuru sayfasında belirtilmektedir.

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

Rust Programlama Dili


Rust Programlama Dili

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

Kursun süresi: 220 Saat
Eğitmen : Kaan Aslan

Ön Koşul: Daha önce herhangi bir programlama dilinde uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneğinde “Programlamaya Giriş” kursuna katılmış olmak.

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

 

  * Kurs ücreti duyuru sayfasında belirtilmektedir.

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

Go Programlama Dili ve Uygulamaları


Temel kavramlar

  • Çevirici programlar, derleyiciler yorumlayıcılar
  • İşletim Sistemleri
  • IDE (Integrated Development Environment) programları
  • Temel sayı sistemleri
  • Go programlama dili hakkında temel bilgiler
  • Go ortamının kurulması
  • Hello, World programı
  • Fonksiyon bildirimi
  • Fonksiyonların çağrılması

Tür kavramı

  • Go’da temel türler
  • Tamsayı türleri, gerçek sayı türleri, char türü ve boolean türü
  • Değişkenler ve faaliyet alanı

Fonksiyonlar

  • Fonksiyonların geri dönüş değerleri
  • return deyimi
  • Fonksiyonların parametre değişkenleri
  • Matematiksel işlem yapan yararlı metotlar

Sabitler

  • Sabit kavramı
  • Sabitlerin türleri
  • Tamsayı sabitleri
  • Gerçek sayı sabitleri
  • bool türden sabitleri
  • Karakter sabitleri
  • Escape sequence karakterler
  • Tamsayı sabitlerinin hexadecimal, binary ve octal gösterilişleri
  • Gerçek sayı sabitlerinin bilimsel gösterilişi
  • Sabit bildiriminde alttire karakterinin kullanımı

Temel Operatörler

  • Operatörlerin sınıflandırılması
  • Operatör önceliği
  • Aritmetik Operatörler
  • Karşılaştırma operatörleri
  • Mantıksal operatörler
  • Mantıksal operatörlerin kısa devre davranışları
  • Atama operatörü
  • İşlemli atama operatörleri

Kontrol deyimleri

  • if deyimi
  • for döngü deyimi
  • break ve continue deyimleri
  • switch deyimi
  • select deyimi
  • Örnek programlar

Tür dönüştürmeleri

  • Farklı türlerin birbirine atanması
  • İşlem öncesi otomatik tür dönüşümleri
  • Tür dönüştürme operatörü

Paketler

  • Paket kavramı
  • Paket oluşturma
  • Örnek programlar

Adres kavramı

  • Adres kavramı
  • Stack ve heap alanları
  • Ömür (storage duration) kavramı

Göstericiler (Pointers)

  • Gösterici kavramı
  • Gösterici kavramı
  • Gösterici parametreli fonksiyonlar
  • call by value ve call by value kavramları
  • Göstericiye geri dönen fonksiyonlar
  • Göstericiyi gösteren göstericiler (pointer to pointrs)
  • null adres kavramı ve nil sabiti
  • nil sabitinin (null adresin) kullanını
  • Örnek programlar

Yapılar

  • Yapı bildirimleri
  • Yapı elemanlarına erişim
  • Yapı türünden göstericiler
  • Örnek yararlı yapılar

Rassal sayı üretimi

  • Rassal sayı üretimi
  • Rassal sayı üretimi için kullanılan fonksiyonlar
  • Örnek programlar

Go’da yazılarla (string) işlemler

  • String kavramı
  • Yaz ile işlem yapan Fonksiyonlar
  • strings paketi
  • Yazılarla işlem yapan diğer paketler
  • Örnek programlar

Temel algoritma analizi

  • Algoritmanın karmaşıklığı
  • Karmaşıklığın ölçütü
  • Karmaşıklığın gösterimine ilişkin notasyonlar
  • Big O notasyonu ile çeşitli karmaşıklık durumlarının incelenmesi
  • O(1), O(logn), O(n), O(n * Logn), O(n ^ 2), O(n ^ 3), … , O(n ^ k) karmaşıklıkları
  • O(k ^ n), O(n!) gibi özel karmaşıklıklar

Diziler (Arrays) ve uygulamalar

  • Dizi tanımlama
  • Diziye ilişkin nesnelerin bellekteki durumu
  • Dizi elemanlarına erişim
  • Dizilere ilk değer verilmesi
  • Dizilerin fonksiyonlara geçirilmesi
  • Dizi döndüren fonksiyonlar
  • Dizilere ilişkin temel algoritmaların yazımı
  • Dizilere ilişkin yararlı fonksyionların yazımı
  • Dizilerde bazı sıralama algoritmaları: kabarcık sıralaması (bubble sort) ve seçerek sıralama (selection sort) algoritmaları
  • Yapı dizileri
  • Gösterici dizileri
  • Örnek programlar

Slices

  • Slice kavramı
  • Slice tanımlama
  • Global slice fonksiyonları (len, cap, append, copy ve diğerleri)
  • Slice ile ilgili işlemler
  • Nil slice
  • Örnek uygulamalar

range

  • range kavramı
  • range anahtar söcüğü ve kullanımı
  • Örnek uygulamalar

Arayüzler (Interfaces)

  • Arayüz kavramı
  • Arayüzlerin kullanını
  • Örnek uygulamlar

Hataların Ela Alınması (Error Handling)

  • Standart error arayüzü
  • Standart fonksiyonlarda hata işlemleri
  • Hataların ele alınmasına yönelik fonksiyonların yazılması
  • Örnek uygulamalar

Çöp Toplayıcı (garbage collector)

  • Nesnelerin ömürleri
  • Nesnelerin seçilebilir (garbage collected) duruma gelmesi
  • Çöp toplayıcı’nın çalışma biçimi
  • Çöp toplayıcıya ilişkin kullanılan bazı algoritmalar

Programın Komut Satırı Argümanları

  • Program ve Process kavramları
  • Programın komut satırı argümanları
  • Progamın giriş noktası (entry point) olan main metodunun parametresi ve anlamı
  • Örnek uygulamalar

Kurs ücreti duyuru sayfasında belirtilmektedir.

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

Flutter Ortamında Dart Programlama Dili İle Uygulama Geliştirme


Flutter Ortamında Dart Programlama Dili İle Uygulama Geliştirme

Kursun süresi: 180 Saat
Eğitmen : Kaan Aslan

Ön Koşul: Daha önce herhangi bir programlama dilinde uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneğinde “Programlamaya Giriş” kursuna katılmış olmak.

Python Uygulamaları


Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

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ı

 

Ön Koşul: Python Programlama dilinde çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu Python Programlama Dili kursunu başarıyla bitirmiş olmak.

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

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

* Kurs ücreti duyuru sayfasında belirtilmektedir.

 

 

 

Yapay Zeka, Makine Öğrenmesi ve Veri Bilimi


Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

# Online Yapay Zeka, Makine Öğrenmesi ve Veri Bilimi Kursu (384 saat)

  • Gözden Geçirme ve Hazırlık

    • Yapay Zeka, Makine Öğrenmesi ve Veri Bilimi İçin Neden Python?
    • Yapay Zeka, Makine Öğrenmesi ve Veri Biiliminde Diğer Programlama Dillerinin Avantajları ve Dezavantajları
    • Python Programlama Dilinin Yeniden Gözden Geçirilmesi
    • Scipy, Numpy, Pandas ve Matplotlib Kütüphanelerinin Yeniden Gözden Geçirilmesi
  • Giriş ve Temel Bilgiler

    • Yapay Zeka Çalışmalarının Tarihsel Gelişimi
    • Yapay Zekanın Alt Alanları
    • Yapay Zekanın Uygulama Alanları
    • Öğrenme Nedir? Makineler Öğrenebilir mi?
    • İnsan Öğrenmesinin Bilinen Süreçleri (Klasik Koşullanma, Edimsel Koşullanma, Bilişsel Öğrenme, Sosyal Bilişsel Öğrenme)
    • Makine Öğrenmesi Nedir?
    • Makine Öğrenmesinin Çeşitleri: Denetimli (Supervised) Öğrenme, Denetimsiz (Unsupervised) Öğrenme ve Pekiştirmeli (Reinforcement) Öğrenme Kavramları
    • Makine Öğrenmesinin Diğer Disiplinlerle İlgisi
    • Makine Öğrenmesi İçin Ne Kadar Matematik ve İstatistik Bilmek Gerekir?
    • Veri Bilimi Nedir?
    • Veri Bilimi ile Yapay Zeka ve Makine Öğrenmesi Arasındaki İlişki
  • Biraz İstatistik

    • İstatistiksel Ölçek Türleri
    • Betimsel (Descriptive) ve Çıkarımsal (Inferential) İstatistik Kavramları
    • Anakütle ve Örneklem Kavramları
    • Olasılıkla İlgili Temel Bilgiler
    • Python’da Betimsel İstatistik İle İlgili İşlemler Yapan Kütüphanelerin Yeniden Gözden Geçirilmesi
    • Rassal Değişken Kavramı
    • Olasılık Dağılımları
    • Çok Karşılaşılan Bazı Sürekli ve Kesikli Dağılımlar
    • Merkezi Limit Teoremi
    • Güven Aralıkları (Confidence Intervals)
    • İstatistiksel Hipotez Testleri Hakkında Temel Bilgiler, Hipotez Testlerinde Kullanılan Kavramlar, Terimler ve Onların Anlamları
  • Verilerin Kullanıma Hazır Hale Getirilmesi Süreci

    • Veri Kümelerinin Dosyalardan Okunması
    • CSV Formatı ve Çeşitli Diyalekleri
    • Veri Kümelerinin Veritabanlarından Okunması
    • Kategorik (Nominal) ve Sıralı (Ordinal) Verilerin Sayısal Biçime Dönüştürülmesi
    • One Hot Encoding Dönüştürmesi
    • Eksik Veriler Üzerinde İşlemler
    • Eksik Verilerin Veri Kümesinden Çıkartılması
    • Eksik Verilerin Doldurulmasına (Imputation) İlişkin Yöntemler
    • Veri Kümesine Yararlı Sütunların Eklenmesi ve Özellik Mühendisliği
    • Verilerin Çoğaltılması (Data Augmentation)
  • Yapay Sinir Ağları

    • İnsanın Sinir Sisteminin Anatomi ve Fizyolojisi İle İlgili Temel Bilgiler (Nöronlar, Nörotransmiter’ler, Sinaps’lar, Reseptörler, …)
    • Öğrenme Beyinde Nasıl Gerçekleşmektedir?
    • Bilgiler Beyinde Nasıl Tutulmaktadır?
    • Duyum ve Algı Kavramları
    • Beynin Bilinenleri ve Bilinmeyenleri
    • Yapay Sinir Ağı Nedir?
    • Yapay Sinir Ağlarının Tarihsel Gelişimi
    • Yapay Sinir Ağlarının Uygulama Alanları
    • Yapay Nöron Modeli
    • Yapay Bir Nöronun Python’da Sınıfsal Temsili
    • Aktivasyon Fonksiyonları ve Nöron Bağlantıları
    • Yapay Sinir Ağlarında Katmanlar
    • Yapay Sinir Ağlarında Yaygın Kullanılan Kütüphaneler ve Framework’ler
    • Yapay Sinir Ağlarında Veri Kümeleri (Eğitim Veri Kümesi, Sınama Veri Kümesi ve Test Veri Kümesi)
    • Keras Kütüphanesinin Kısa Tarihi
    • Keras Kütüphanesinin Kurulumu
    • Yapay Sinir Ağlarının Keras Kütüphanesi İle Yüksek Seviyeli Biçimde Oluşturulması
    • Girdi Katmanlarının, Ara Katmanların ve Çıktı Katmanlarının Oluşturulması
    • Loss Fonksiyonlarının Anlamı ve Çok Kullanılan Loss Fonksiyonları
    • Optimizasyon Algoritmalarının Anlamı ve Çok Kullanılan Optimizasyon Algoritmaları
    • Keras’ta Yapay Sinir Ağı Modelinin Eğitilmesi
    • Epoch ve Batch Kavramları
    • Sınama (Validation) İşleminin Anlamı
    • Test Veri Kümesi ile Yapay Sinir Ağı Modelinin Test Edilmesi
    • Keras Modelinin Dosyalarda Saklanması ve Geri Yüklenmesi
    • Keras’ta Callback Mekanizması
    • Yapay Sinir Ağlarında Özellik Ölçeklemeleri (Feature Scaling)
    • Yapay Sinir Ağlarında “Overfitting” ve “Underfitting” Olguları
    • Kestirim Modeli Olarak Yapay Sinir Ağı Modelleri ile İstatistiksel Regresyon Modelleri Arasındaki Farklılıklar ve Benzerlikler
    • Yapay Sinir Ağlarıyla Sınıflandırma (Lojistik Regresyon) Problemleri
    • Çok Sınıflı (Multinomial) ve Çok Etiketli (Multilabel) Sınıflandırma Modelleri
    • Yapay Sinir Ağlarıyla Lojistik Olmayan Regresyon Modelleri
    • Yapay Sinir Ağlarında Evrişim (Convolution) İşlemleri ve Evrişimsel Sinir Ağları
    • Keras’ta Evrişimsel Sinir Ağları ile İşlemler
    • Evrişimsel Sinir Ağı Modellerinde Nöron Sayılarının Azaltılması (Downsampling)
    • Keras’ta Eğitimin Belli Bir Durumda Sonlandırılması
    • Geri Beslemeli Sinir Ağları (Recurrent Neural Networks)
    • Geri Beslemeli Sinir Ağlarında SimpleRNN, LSTM ve GRU Katmanları
    • Çift Yönlü LSTM Katmanları
    • Geri Beslemeli Sinir Ağlarının Kestirimde Kullanılmaları
    • Geri Beslemeli Sinir Ağlarına İlişkin Örnekler
    • Autoencoder Modelleri
    • Öğrenimin Aktarılması Sürecinin (Transfer Learning) Temelleri
    • Keras Modellerinin Fonksiyonel Olarak Oluşturulması
  • Yapay Sinir Ağları İle Metinler Üzerinde İşlemler

    • Metinler Üzerinde Ön İşlemler (Tokenizing, Stemming, Lemmatization, …)
    • Metinsel Verilerde Word Embedding İşlemleri
    • Metinlerin İçeriğe Göre Sınıflandırılması
    • Metinlerden Anlam Çıkarılması
    • Metinsel İşlemlerde Öğrenimin Aktarılması
  • Yapay Sinir Ağları İle Ses ve Görüntü Verileri Üzerinde Sınıflandırma ve Tanıma İşlemleri

    • Konuşma Kayıtlarına İlişkin Verilerle Çalışma
    • Konuşma Verilerinde Sınıflandırma İşlemleri
    • İşitsel ve Görsel Verilerin Çoğaltılması (Data Augmentation)
    • Yüz Tanıma İşlemleri
    • Resimlerin Sınıflandırılması
    • Hareketli Görüntü Verileri Üzerinde İşlemler
    • Yapay Sinir Ağları İle Resim Tanıma Uygulamaları
    • Renkli Resimler Üzerinde Uygulamalar
    • Resim Tanıma ve Sınıflandırmada Öğrenimin Aktarılması
  • Makine Öğrenmesinde Üretici (Generative) ve Dönüştürücü (Transformer) Modeller

    • Generative Adversarial Ağlar (GANs)
    • Dönüştürücü Ağlar
    • Dönüştürücü Ağların Uygulama Alanları
    • GPT (Generative Pre-trained Transformer) Ağları
    • ChatGPT Uygulamasının Dayandığı Temel, Kullanım Alanları, Sınırlamaları ve Geleceği
    • Metinsel Çıktı Üretimleri
  • TensorFlow Kütüphanesinin Kullanımı

    • TensorFlow kütüphanesinin Tarihsel Gelişimi
    • TensorFlow Kütüphenesinin Kurulumu
    • Tensor Nesnelerinin Oluşturulması ve Tensörler Üzerinde İşlemler
    • Yapay Sinir Ağı Modellerinin TensorFlow’da Oluşturulması
    • TensorFlow’da Yapay Sinir Ağı Örnekleri
  • PyTorch Kütüphanesinin Kullanımı

    • PyTorch Kütüphanesinin Kurulumu
    • PyToch Kütüphanesinin Temel Özellikleri
    • Tensor Nesnelerinin Oluşturulması ve Tensörler Üzerinde İşlemler
    • PyTorch Kütüphanesinde Temel Çalışma Biçimi
    • PyTorch ile Yapay Sinir Ağlarının Oluşturulması
  • Theano Kütüphanesinin Kullanımı

    • Theano Kütüphanesinin Kurulumu
    • Theano Kütüphanesinin Temel Özellikleri
    • Theano Kütüphanesi ile Yapay Sinir Ağlarının Oluşturulması
  • Denetimsiz Öğrenme (Unsupervised Learning)

    • Kümeleme (Clustering) İşlemleri
    • K-Means Kümeleme Algoritması
    • Hiyerarşik Kümeleme Algoritmaları
    • Yoğunkluk Tabanlı DBSCAN ve OPTICS Kümeleme Algoritmaları
    • Kümeleme İşlemlerinde Kullanılan Diğer Önemli Algoritmik Yöntemler
    • Kümeleme Algoritmalarının Çeşitli Bakımlardan Birbirleriyle Karşılaştırılması
  • Biraz Lineer Cebir

    • Vektörler
    • Matrisler ve Determinantlar
    • Matrisler Üzerinde Temel İşlemler
    • Lineer Denklem Sistemlerinin Çözümü
    • Özdeğerler ve Özvektörler
  • Kovaryans ve Korelasyon Kavramları

    • Kovaryans Kavramı
    • Pearson ve Spearman korelasyon katsayıları
    • Python’da Kovaryans ve Korelasyon Hesaplamaları
    • Korelasyon ve Nedensellik
    • Kovaryansın ve Korelasyonun Önemi ve Veri Biliminde Kullanım Alanları
  • İstatistiksel Hipotez Testleri ve Uygulamaları

    • İstatistiksel Hipotez Testlerinin Anlamı ve Uygulama Alanları
    • Parametrik Hipotez Testleri ve Parametrik Olmayan Hipotez Testleri
    • Z Testi ve t Testi
    • F Dağılımı, F İstatistiği ve F Testi
    • Varyans Analizi (Tek Faktörlü ve İki Faktörlü ANOVA)
    • Kovaryans Analizi
    • Kay Kare (Chi Square) Testi
    • Mann Whitney U Testi
    • Doğrulayıcı (Confirmatory) ve Açımlayıcı (Exploratory) Faktör Analizi
    • Yapısal Eşitlik Modellemesi ve Yol Analizi (Path Analysis) Hakkında Temel Bilgiler
  • Veri Tablolarında Boyutsal Özellik İndirgemeleri

    • Boyutsal Özellik İndirgemesi Nedir?
    • Boyutsal Özellik İndirgemelerine Neden Gereksinim Duyulmaktadır?
    • Eksik Değerli Sütunların Atılması (Missing Value Ratio)
    • Düşük Varyans Filtremeleri
    • Yüksek Korelasyon Filtremeleri
    • Geriye Doğru Özellik İndirgemeleri (Backward Feature Elimination)
    • İleriye Doğru Özellik İndirgemeleri (Forward Feature Elimination)
    • Faktör Analizi Yöntemi İle Boyutsal Özellik İndirgemeleri
    • Temel Bileşenler Analizi İle Boyutsal Boyutsal İndirgemeleri
    • Diğer Boyutsal Özellik İndirgeme Yöntemleri Hakkında Temel Bilgiler
  • Anomalilerin Tespit Edilmesi (Anomaly Detection)

    • Anomalilerin Tespit Edilmesi İçin Yaklaşımlar
    • Kümeleme Tabanlı Anomali Tespit Yöntemleri
    • Anomalilerin Tespit Edilmesi İçin Kullanılan Diğer Önemli Yaklaşımlar
  • Sayısal (Nümerik) Analiz İşlemleri

    • Sürekli ve Ayrık Fonksiyonlar
    • Doğrusal Olmayan (Nonlinear) Denklemlerde Kök Bulma
    • Newton-Raphson Yöntemi ile Kök Bulma
    • Türev Kavramı
    • SymPy Kütüphanesi ile Sembolik Türev İşlemleri
    • Sayısal Türev İşlemleri
    • Integral Kavramı
    • SymPy Kütüphanesi ile Sembolik Integral İşlemleri
    • Sayısal İntegral İşlemleri
  • Matematiksel Optimizasyon İşlemleri

    • Maksimizasyon ve Minimizasyon Problemleri
    • Gradient Ascent ve Gradient Descent Algoritmalarının Anlamı
    • Stochastic Gradient Algoritmalar ve Mini Batch Yöntemler
    • Doğrusal Programlama ve Doğrusal Karar Modellerinin Scipy ve Pulp Kütüphaneleri İle Çözümü
    • Doğrusal Olmayan Programlama ve Doğrusal Olmayan Modellerin Çözümü İçin Yaklaşımlar
  • Graflar Üzerinde İşlemler ve Ağ Analizi

    • Graf Veri Yapıları
    • Graflar Üzerinde Optimizasyon Problemlerinin Çözümü (Gezgin Satıcı Problemi, En Kısa Yol Problemi, En Küçük Örten Ağaç Problemi, Hamilton ve Euler Turlu Problemler vs.)
    • Python’da Graf Problemleri İçin Kullanılan Kütüphaneler
    • NetworkX ve python-igraph Kütüphanelerinin Kullanımı
    • Çok Karşılaşılan Graf Algoritmaları (En Kısa Yola Problemi, En Küçük Örten Ağaç Problemi, …)
    • Graflarda Tur (Cycle) Problemleri, Hamilton ve Euler Turlu Problemler
    • Graf Çizimleri İçin Graphwiz Kütüphanesinin Kullanımı
    • Ağ Analizi (Network Analysis) İle İlgili Temel Kavramlar
    • Ağlarda Ölçümleme (Measuring Networks)
    • Ağlarda Benzerlikler
    • Sosyal Ağlar Üzerinde Temel Graf İşlemleri
  • İstatistiksel Yöntemlerle Gerçekleştirilen Regresyon İşlemleri

    • Basit Doğrusal Regresyon
    • Çoklu Doğrusal Regresyon
    • Çoklu Doğrual Regresyonun Önemli Sorunları
    • Çoklu Doğrusal Regresyonda Düzenleme (Regulation) İşlemleri
    • Lasso, Ridge ve Elastic Net Regresyonları
    • Polinomsal Regresyon
    • Scikit-learn Kütüphanesi ile Doğrusal ve Polinomsal Regresyon İşlemleri
    • İstatistiksel Lojistik Regresyon
    • Doğrusal Olarak Ayrıştırılabilirlik (Linear Separability) ve Doğrusal Sınıflandırıcılar (Linear Classifiers)
    • İstatistiksel Lojistik Regresyon Problemlerinin Çözüm Yaklaşımları
    • İstatistiksel Lojistik Regresyon Problemlerinin Gradient Descent Yöntemlerle Çözülmesi
    • Çok Sınıflı Lojistik Regresyon Problemleri
    • Lojistik Regresyon Yöntemlerinin Karşılaştırılması
    • Lojistik Regresyon Modellerinin scikit-learn Kütüphanesi İle Çözümü
  • Destek Vektör Makineleri (Support Vector Machines)

    • Destek Vektör Makinelerinin Dayandığı Matematiksel Temel
    • Destek Vektör Makineleri İle Sınıflandırma İşlemleri
    • Destek Vektör Makineleri İle Lojistik Olmayan Regresyon İşlemleri
    • Destek Vektör Makineleri İle İstatistiksel Regresyon Yöntemlerinin Karşılaştırılması
  • Karar Ağaçları (Decision Trees)

    • Karar Ağaçlarının Dayandığı Matematiksel Temeller
    • Karar Ağaçlarıyla Sınıflandırma İşlemleri
    • Karar Ağaçlarıyla Lojistik Olmayan Regresyon İşlemleri
    • Karar Ağaçlarıyla Diğer Lojistik ve Lojistik Olmayan Regresyon Modellerinin Karşılaştırılması
  • En Yakın Komuşuluk Yöntemiyle ve Naive Bayes Yöntemiyle Sınıflandırma ve Bayes Ağları

    • En Yakın Komşuluk (K-Nearest Neighbours) Yöntemiyle Sınıflandırma
    • Koşullu Olasılık Kavramı ve Bayes Teoremi
    • Naive Bayes Yönteminin Dayandığı Temeller
    • Naive Bayes Yönteminin Varyasyonları (Gaussian Naive Bayes, Multinomial Naive Bayes, Categorical Naive Bayes, …)
    • Naive Bayes Yönteminin scikit-learn Kütüphanesi Kullanılarak Uygulanması
    • Bayes Ağları
    • Bayes Ağlarının Uygulama Alanları
  • Makine Öğrenmesinde Ensemble Yöntemlerin Kullanılması

    • Ensemble Yöntemler Nedir?
    • Boosting Yöntemleri
    • Bagging Yöntemleri
    • Stacking Yöntemleri
    • Rassal Ormanlar (Random Forests)
    • Diğer Ensemble Yöntemler
    • KFold Validation İşleminin Anlamı ve Uygulama Alanları
    • Scikit-learn Kütüphanesi Kullanılarak Ensemble Yöntemlerin Uygulanması
    • XGBoost Kütüphanesinin Kullanımı
  • Otomatik Makine Öğrenmesine (Automated Machine Learning) İlişkin Kütüphanelerin Kullanımı

    • AutoKeras Kütüphanesinin Kullanımı
    • AutoSklearn Kütüphanesinin Kullanımı
    • TPOT Kütüphanesinin Kullanımı
  • Pekiştirmeli Öğrenme (Reinforcement Learning)

    • Pekiştirmeli Öğrenme Nedir?
    • İnsan Öğrenmesinde Edimsel Koşullanma (Operant Conditioning)
    • İnsan Öğrenmesinde Pekiştireçler ve Pekiştirme Tarifeleri
    • Pekiştirmeli Makine Öğrenmesi Nedir?
    • Pekiştirmeli Makine Öğrenmesinin Uygulama Alanları
    • OpenAI GYM Ortamı
    • OpenAI GYM Simülatörlerinin Kullanılması
    • Pekiştirmeli Öğrenmede Kullanılan Algoritmalar
    • Q-Learning Algoritması
    • Q-Learning Algoritması ile GYM Simülatörleri Üzerinde Örnekler
    • Pekiştirmeli Öğrenmede Yapay Sinir Ağlarının Kullanımı
    • Pekiştirmeli Öğrenmede Deep Q-Learning Yöntemleri
  • Pekiştirmeli Öğrenmede Kullanılan Yüksek Seviyeli Kütüphaneler

    • Stable-Baselines Kütüphanesinin Kullanımı
    • Keras-RL Kütüphanesinin Kullanımı
  • Yapay Zeka, Makine Öğrenmesi ve Veri Bilimi İçin Cloud Platformlarının Kullanılması

    • Cloud Platformlarının Özellikleri, Avantajları ve Dezavantajları
    • Makine Öğrenmesi İçin Amazon AWS SageMaker Platformunun Kullanımı
    • Makine Öğrenmesi İçin Microsoft Azure Platformunun Kullanımı
    • Makine Öğrenmesi İçin Google Cloud Platformunun Kullanımı
    • Makine Öğrenmesi İçin IBM Watson Platformunun Kullanımı


Ön Koşul: 
Temel düzeyde Python Programlama Dili bilgisine sahip olmak.

Kurs ücreti duyuru sayfasında belirtilmektedir.

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

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

Python Programlama Dili


Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

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
Xec 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…

Ön Koşul : Daha önce herhangi bir programlama dili ile çalışmış olmak

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

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

* Kurs ücreti duyuru sayfasında belirtilmektedir.

 

Python Uygulamaları


KURSA ÖN KAYIT YAPMAK İÇİN TIKLAYINIZ

  • 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ı

Önkoşul:
Python Programlama dilinde çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu Python Programlama Dili kursunu başarıyla bitirmiş olmak.

KURSA ÖN KAYIT YAPMAK İÇİN TIKLAYINIZ

* Kurs ücreti duyuru sayfasında belirtilmektedir.