Rust Programlama Dili


Rust Programlama Dili

Kursun süresi: 150 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.

Go Programlama Dili ve Uygulamaları


Go Programlama Dili ve Uygulamaları

Kursun süresi: 150 Saat
Eğitmen : Oğuz Karan

Ö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.

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ı


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.

* 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 ve Makine Öğrenmesi


Online Yapay Zeka ve Makine Öğrenmesi Kursu (220 saat)

KURSA ÖN KAYIT YAPTIRABİLİRSİNİZ

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

    • Yapay Zeka ve Makine Öğrenmesi İçin Neden Python?
    • Yapay Zeka ve Makine Öğrenmesinde 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?
    • Python’da Veri Kümelerinin Dosyalardan Okunması ve Kullanıma Hazır Hale Getirilmesi
  • Biraz İstatistik

    • İstatistiksel Ölçek Türleri
    • Kategorik (Nominal) ve Sıralı (Ordinal) Verilerin Sayısal Biçime Dönüştürülmesi
    • One Hot Encoding Dönüştürmesi
    • Betimsel (Descriptive) ve Çıkarımsal (Inferential) İstatistik
    • Anakütle ve Örneklem Kavramları
    • Olasılıkla İlgili Temel Bilgiler
    • Python’da Betimsel İstatistik İle İlgili 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 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ı
  • 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
    • Denetimli 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 ve 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ı İle İş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
    • Keras Modellerinin Fonksiyonel Olarak Oluşturulması
  • Yapay Sinir Ağları İle Metinler Üzerinde İşlemler

    • Metinsel Verilerde Word Embedding İşlemleri
    • Metinlerin İçeriğe Göre Sınıflandırılması
    • Metinlerden Anlam Çıkarılması
    • Metinsel Çıktı Üretimleri
  • 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
    • Yüz Tanıma İşlemleri
    • Resimlerin Sınıflandırılması
    • Hareketli Görüntü Verileri Üzerinde İşlemler
    • Yapay Sinir Ağı İle Resim Tanıma Uygulamaları
    • Renkli Resimler Üzerinde Uygulamalar
  • TensorFlow Kütüphanesinin Kullanımı

    • TensorFlow kütüphanesinin Tarihsel Gelişimi
    • TensorFlow Kütüphenesinin Kurulumu
    • Tensor Nesnelerinin Oluşturulması
    • 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ı
    • 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 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 Temelli DBSCAN ve OPTICS Kümeleme Algoritmaları
    • Kümeleme İşlemlerinde Kullanılan Diğer Önemli Algoritmalar
    • Kümeleme Algoritmalarının Çeşitli Bakımlardan Birbirleriyle Karşılaştırılması
  • Biraz Lineer Cebir

    • Matrisler ve Determinantlar
    • Lineer Denklem Sistemlerinin Çözümü
    • Özdeğerler ve Özvektörler
  • Veri Tablolarında Boyutsal Özellik İndirgemeleri

    • Eksik Değerli Sütunların Atılması (Missing Value Ratio)
    • Düşük Varyans Filtremeleri
    • Yüksek Korelasyon Filtremeleri
    • Geriye Doğru Özellik İndirgemeler (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
  • 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
  • Matematiksel Optimizasyon İşlemleri

    • Maksimizasyon ve Minimizasyon Problemleri
    • Gradient Ascent ve Gradient Descent Algoritmalarının Anlamı
    • Stochastic Gradient Algoritmalar ve Mini Batch Yöntemleri
    • 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
    • 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.)
    • Pyton’da Graf Problemleri İçin Kullanılan Kütüphaneler
    • Graf Çizimleri İçin Graphwiz Kütüphanesinin Kullanımı
  • İstatistiksel Yöntemlerle 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)
    • 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 Lojistik Regresyon (Sınıflandırma) Problemlerinin Çözümü
    • Destek Vektör Makineleri İle Lojistik Olmayan Regresyon Problemlerinin Çözümü
    • 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 Lojistik Regresyon (Sınıflandırma) Problemlerinin Çözümü
    • Karar Ağaçlarıyla Lojistik Olmayan Regresyon Problemlerinin Çözümü
    • Karar Ağaçlarıyla Diğer Lojistik ve Lojistik Olmayan Regresyon Modellerinin Karşılaştırılması
  • Naive Bayes Yöntemiyle Sınıflandırma

    • Koşullu Olasılık Kavramı
    • 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ı
  • 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ı
  • Makine Öğrenmesi İç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.

KURSA ÖN KAYIT YAPTIRABİLİRSİNİZ

Python Programlama Dili


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
o Programlama Dillerinin Tarihsel Gelişimi
o Python Programlama Dilinin Tarihsel Gelişimi
o Python Dili, Python Gerçekleştirimleri ve Python Dağıtımları
o Python Programlama Dilinin Temel Özellikleri
o Python Neden Son Dönemlerde Popülerlik Kazanmıştır?
o Python Ortamının Kurulumu
o Temel Bilgisayar Mimarisi
o İşletim Sistemleri
o Gömülü Sistemler
o Çevirici Programlar (Translators), Derleyiciler (Compilers) ve Yorumlayıcılar (Interpreters)
o IDE Kavramı
o Mülkiyete Sahip Yazılımlar ve Açık Kaynak Kodlu Yazılımlar
o Doğal Kodlu ve Ara Kodlu Çalışma Sistemleri
o Dil Kavramı
o Dillerde Sentaks ve Semantik
o Bilgisayar Dilleri ve Programlama Dilleri
o Programlama Dillerinin Sınıflandırılması
o Programlama Dillerinin Sentakslarının Açıklanması İçin Kullanılan Notasyonlar
• Python Programlama Diline Giriş
o Komut Yorumlayıcı Ortamda (REPL) Çalışma
o Atom (Token) Kavramı ve Atomların Sınıflandırılması
o Boşluk Karakterleri (White Space)
o Dinamik Tür Sisteminin Anlamı
o Python’da Temel Veri Türleri
o Değiştirilebilir (Mutable) ve Değiştirilemez (Immutable) Tür Kavramları
o Python’da Değişkenlerin ve Nesnelerin Yaratılması
o Python’da Sabitler
o Adres Kavramı ve Nesnelerin Adresleri
o Değişkenler ve Nesneler Arasındaki İlişki
o Python’da Dinamik Tür Sisteminin Gerçekleştirilme Biçimi
o Python Standart Kütüphanesi Nedir ve Nelerden Oluşmaktadır?
o Fonksiyon ve Metot Kavramları
o Built-in Fonksiyon ve Sınıf Kavramları
o Operatör Kavramı, Operatörler Arasındaki Öncelik İlişkileri
o Python’da Operatörler
o Tür Dönüştürmeleri
o input ve print Fonksiyonlarının Ayrıntıları
o Python Programlarının Yazılması ve Çalıştırılması
• Python’da Temel Veri Yapıları
o Dolaşılabilir (Iterable) Nesne Kavramı
o range Fonksiyonu
o Listeler
o Listeler Üzerinde İşlemler
o Listeler Üzerinde Dilimleme İşlemleri (List Slicing)
o Listelerin Açılması (List Unpacking)
o Listelerle Çok Boyutlu Dizilerin Oluşturulması
o Demetler (Tuples)
o Demetler Üzerinde İşlemler
o Demetlerin Açılması (Tuple Unpacking)
o Kümeler (Sets)
o Kümeler Üzerinde İşlemler
o Değiştirilemez Kümeler (Frozen Sets)
o Sözlükler (Dictionaries)
o Sözlükler Üzerinde İşlemler
o String’ler
o String’ler Üzerinde İşlemler
o String’lerin Dilimlenmesi
o len Fonksiyonu ve in Opereratörünün İşlevleri
• Python’da Deyimler (Statements)
o Farklı Türlerin Birbirleriyle İşleme Sokulması
o Satırların Girinti Düzeyleri (Indent Level)
o Deyim Kavramı ve Deyimlerin Sınıflandırılması
o İfadesel Deyimler (Expression Statements)
o Bileşik Deyimler (Compound Statements)
o Suite Kavramı
o if Deyimi
o while Döngüleri
o for Döngüleri
o break ve continue Deyimleri
o Koşul Operatörü
o pass Deyimi
• Fonksiyonların Tanımlanması ve Fonksiyonlarla İşlemler
o Fonksiyonların Tanımlanması ve Fonksiyon Nesneleri
o Fonksiyon İsimlerinin Anlamı
o Fonksiyonların Parametre Değişkenleri
o Fonksiyonların *’lı ve **’lı Parametreleri
o Fonksiyon Çağrılarında Argümanların Kullanımı
o *’lı **’lı Argümanlar
o Fonksiyon Parametrelerinde Tür Kontrolü
o İç İçe Fonksiyon Tanımlamaları
• Modüller
o Modüllerin Oluşturulması
o Modüllerin import Edilmesi
o Modül İsimlerinin Anlamı
o sys.path Listesinin Anlamı
o Python Programlarında Çalışma Dizinlerinin Değiştirilmesi
o Modülün import Edilmesiyle Çalıştırılması Arasındaki Farklar
• Tamamlayıcı Konular
o Python’da Rastgele Sayıların Elde Edilmesi
o Değişkenlerin Faaliyet Alanları (Scope)
o Değişkenlerin Ömürleri
o enumerate, map, filter ve zip Fonksiyonları
o Python Yorumlayıcısında İsim Arama Mekanizması
o bytes ve bytearray Türleri
o Permütasyon ve Kombinasyon İşlemleri
• İçlemler (Comprehensions)
o İçlemlerin Genel Sentaks Biçimleri
o Liste İçlemleri (List Comprehensions)
o Küme İçlemleri (Set Comprehensions)
o Sözlük İçlemleri (Dictionary Comprehensions)
o İçlemler nerede Kullanılır ve İçlemlere Neden Gereksinim Duyulmaktadır?
• Sınıflar
o Nesne Yönelimli Programlama Modeli ve Sınıf Kavramı
o Sınıfların Tanımlanması
o Sınıflar Türünden Nesnelerin Yaratılması
o Sınıf Değişkenleri
o Metotların Tanımlanması ve self Parametresinin Anlamı
o Sınıfların Dunder (Başında ve Sonunda İki Alt Tire Bulunan) Metotları
o Sınıfların _new_ ve _init_ Metotları
o Python Standart Kütüphanesindeki Yardımcı Sınıflarla İlgili Alıştırmalar
o Sınıfların Öznitelikleri (Class Attributes)
o Sınıfların Örnek Öznitelikleri (Instance Attributes)
o Sınıf İsimlerinin Anlamı
o Nesne Yönelimli Programlama Tekniğinde Sınıflar Arasındaki İlişki Biçimleri
o Sınıflarda Türetme İşlemleri (Inheritance)
o Çoklu Türetmeler (Multiple Inheritance)
o Türetme Durumlarında Taban Sınıfın _init_ Metodunun Çağrılması
o super Fonksiyonu
o Sınıflarda Kapsülleme (Encapsulation)
o Çokbiçimlilik (Polymorphism)
o Sınıfların _str_ ve _repr_ Metotları
o Python’da Çöp Toplayıcı Mekanizma
o Deterministik Çöp Toplama ve Sınıfların _del_ Metotları
o Operatör Metotları
o Sınıfların Statik Metotları
o Sınıfların Sınıf Metotları
o Sınıflardaki Diğer Özel Dunder Metotları
o Dolaşılabilir (Irterable) Sınıfların Oluşturulması
o Property Kavramı ve Property Kullanımı
o Betimleyiciler
o Sınıfların _get_, _set_ ve _delete_ Metotları
• Dekoratörler
o Dekoratörlerin Anlamı
o Fonksiyon Dekoratörleri
o Sınıf Dekoratörleri
o Önemli sınıf Dekaratörleri
• Exception Mekanizması
o Python’da Exception Mekanizmasının Kullanımı
o Exception’ların oluşturulması ve yakalanması
o Exception Sınıflarının Yazılması
o Çok Karşılaşılan Exception Sınıfları
o with deyimi
• Python’da Dosya İşlemleri
o Dosya İşlemleri
o Dosyaların Açılması ve Kapatılması
o Dosyalarda Yazma ve Okuma İşlemleri
o Text ve Binary Dosyalar
o Text Dosyalarda Karakter Kodlaması (Character Encoding)
o Karakter Kodlama Dönüştürmeleri
• Üretici Fonksiyonlar ve Lambda İfadeleri
o Üretici Fonksiyon (Generators) Kavramı
o Üretici Fonksiyonların Tanımlanması ve Kullanılması
o Lambda İfadeleri
• Diğer Önemli Built-In Fonksiyonlar
o eval Fonksiyonu
o exec Fonksiyonu
o compiler Fonksiyonu
o property Fonksiyonu
o locals Fonksiyonu
• Python’da Paketler (Packages)
o Paket Kavramı
o Paketlerin Oluşturulması ve import Edilmesi
o Paketlerdeki _init_.py Dosyasının Anlamı
o İç İçe Paketlerin Oluşturulması
o Paket Yönetimi

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

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


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

*Ücreti sorunuz.

Visual C++ ile Veritabanı Programlama


Microsoft’un yeni veritabanı stratejisi UDA (Universal Data Access) COM Object teknolojisine dayanmaktadır. Bu yüzden, COM Object yapılarının iyi derecede bilinmesi gerekmektedir.

Kurs konularından bazıları aşağıdadır:

  • Veritabanı teorisi
  • Temel SQL işlemleri
  • Veri erişim stratejileri ve UDA (Universal Data Access)
  • ODBC ve MFC ODBC sınıfları
  • OLE DB yapısı
  • OLE DB template sınıflar
  • OLE DB ile veritabanı işlemleri ve sorgulamalar
  • OLE DB ile parametreli sorgulamalar
  • Activex Data Object (ADO) yapısı
  • ADO ile veritabanı işlemleri ve sorgulamalar
  • ADO ile parametreli sorgulamalar
  • MS SQL server “stored procedure” kullanımı

Önkoşul:

MFC ve COM Object konularında uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu Windows Altında Visual C++ ile Programlama ve ATL ile COM Programlama kurslarını başarıyla bitirmiş olmak.

*Ücreti sorunuz.

C Standartları


Bu kurs C90 (ISO/IEC 9899: 1990) ve C99 (ISO/IEC 9899: 1999) standartlarının açıklanması ve yorumlanmasına ilişkin ileri düzey bir kurstur. Kurs içerisinde standardizasyona ilişkin kavramlar ve konular ayrıntılı bir biçimde ele alınmaktadır.

Kurs konularından bazıları aşağıdadır:

  • Programlama dillerinin standardizasyonu
  • C’de standardizasyon çalışmalarının tarihi ve amacı
  • Standartlardaki bölümlendirmeler
  • Standardizasyonda kullanılan temel terimler ve içeriğe ilişkin anlatım
  • Standartlara uyumluluk
  • Derleme ve çalışma ortamları
  • Programın çalışmaya başlaması ve sonlanması
  • Sınır durumlar
  • Tür kavramı ve tür dönüştürmeleri
  • Bildirim işlemi
  • Operatörler
  • İlkdeğer verme
  • Deyimler
  • Fonksiyon prototipleri ve fonksiyon tanımlamaları
  • Önişlemci
  • Standart C kütüphanesi

Önkoşul:

C Programlama Dilini iyi bir biçimde bilmek ve sistem programlama alanında uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu “C Programlama Dili”, Sistem Programlama ve İleri C Uygulamaları” kurslarını başarıyla tamamlamış olmak.

*Ücreti sorunuz.

C++ Standartları


Bu kurs ISO/IEC 14882: 2003 standardının açıklanması ve yorumlanmasına ilişkin ileri düzey bir kurstur. Kurs içerisinde standardizasyona ilişkin terimler ve konular ayrıntılı bir biçimde ele alınmaktadır.

Kurs konularından bazıları aşağıdadır:

  • Programlama dillerinin standardizasyonu
  • C++’de standardizasyon çalışmalarının tarihi ve amacı
  • Standartlardaki bölümlendirmeler
  • Standardizasyonda kullanılan temel terimler ve içeriğe ilişkin anlatım
  • Standartlara uyumluluk
  • Derleme ve çalışma ortamları
  • Programın çalışmaya başlaması ve sonlanması
  • Sınır durumlar
  • Faaliyet alanı kavramı ve İsim arama
  • Kendiliğinden yapılan tür dönüştürmeleri
  • Operatörler
  • Deyimler
  • İsim alanı kavramı
  • Sınıflar
  • Özel üye fonksiyonlar
  • Türetme işlemleri
  • Aynı isimli fonksiyonlar ve operatör fonksiyonları
  • Fonksiyon ve sınıf şablonları
  • Hataların ele alınması ve işlenmesi
  • Standart C++ kütüphanesi
  • C ile uyumluluk

Önkoşul:

C++ Programlama Dilini iyi bir biçimde bilmek ve sistem programlama alanında uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C++ ve Nesne Yönelimli Programlamaya Giriş, Sistem Programlama ve İleri C Uygulamaları (I)-(II) ve C++ ve Nesne Yönelimli Programlama Uygulamaları kurslarını başarıyla tamamlamış olmak.

*Ücreti sorunuz.