Atölyede katılımcıların Python programlama dilinde ileri düzeyde yazılım becerileri kazanmalarını, karmaşık projeleri etkili bir şekilde yönetmelerini ve geliştirmelerini, yazılımın yaşam döngüsü boyunca en iyi uygulamaları anlamalarını ve uygulamalarında en yüksek performansı elde etmelerini sağlayan çalışmalar yapılır.
Başlangıç seviyesinde algoritma, veri yapıları ve python programlama dili bilgisi olan kişilerin piyasa koşullarına uygun fonksiyonel ve nesneye dayalı programlama paradigmalarına uygun yazılım geliştirebilmesi, çeşitli dosya yapıları ve veritabanı yönetim sistemleri ile bağlantı kurabilmesi, thread ve process işlemlerini yönetebilmesi, ağ ve web kütüphanelerini projelerinde kullanabilmesi hedeflenmektedir.
- List, tuple, set ve dict veri yapılarını bilme ve kullanma
- Python’da hata ve istisnaların yönetimini yapabilme
- Fonksiyon kavramını bilme
- Random ve sleep gibi hazır fonksiyonları programına dahil edip kullanabilme
- def ile fonksiyon oluşturabilme
- Program içerisinde fonksiyonu çağırabilme
- Parametre ve argüman kavramlarını bilme ve kullanma
- Program ile fonksiyon arasında parametre argüman alışverişini yapabilme
- Fonksiyonlar arası iletişim sağlayabilme
- Yerel ve global kavramlarının farklarını kavrama
- Fonksiyon içerisine fonksiyon, nesne gibi yapılar gönderebilme
- Fonksiyonel programlama paradigmasını bilme
- Fonksiyonel programlama paradigmasına uygun programlar yazabilme
- Programlama dilleri paradigmalarını bilme
- Programlama dili paradigmalarından nesneye yönelik programlamanın özelliklerini diğerlerinden ayırabilme
- Nesne ve sınıf kavramını ve aralarındaki bağlantıyı kavrama
- Program içerisinde bir sınıf oluşturabilme
- Instance (örnek) kavramını öğrenir ve oluşturabilme
- Sınıfa ait bir nesne oluşturabilme
- Bir sınıfa ait yapıcı ve yıkıcı fonksiyon yapısını bilme ve kullanma
- Nesneye ait temel özelliklerden miras özelliğini öğrenme
- Çok seviyeli mirası ve çoklu mirası bilme
- Encapsulation (kapsülleme, paketleme, sarmalama) kavramını öğrenme ve kullanma
- Protected ve private kavramlarını bilir ve sınıfa uygulayabilme
- Abstraction (soyutlama) kavramını bilir ve uygulama
- Polymorphism (çok boyutluluk) kavramını bilir ve sınıf içerisinde uygulayabilme
- İsim uzayı kavramını bilir ve programına uygulama
- Python kodları kullanarak dosya oluşturabilme
- Klasik text dosyalarında manipülasyon işlemlerini yapabilme
- XML yapılarını bilme
- XML ile çalışma mantığını kavrama
- DOM ve SAX işlemlerini açıklama
- XML parsing işlemini açıklama
- JSON işlemini açıklama
- JSON işlemini kullanma
- JSON parsing işlemini projelerinde kullanma
- CSV ve XLSX dosya özelliklerini bilme
- Pandas kütüphanesini bilme
- Series ve dataframe kavramını bilme
- Pandas ile CSV ve XLSX dosyalarını projelerine dahil edebilme
- SQLite veritabanı oluşturur ve bağlantı kurma
- Veritabanı tabloları oluşturur, düzenler ve silme
- Veritabanına veri ekler, günceller ve silme
- Veritabanından veri çeker ve sorgular oluşturma
- Koşullu sorgular oluşturur ve uygulama
- İlişkiler kurar ve kullanma
- SQLite indekslerini anlama ve kullanma
- Var olan bir MySQL veritabanıyla bağlantı kurma
- Var olan veritabanından veri çekme ve sorgular oluşturma
- Var olan bir MSSQL veritabanıyla bağlantı kurma
- Var olan veritabanından veri çeker ve sorgular oluşturma
- Thread ve process kavramlarını açıklayarak arasındaki farkları tanımlayabilme
- Python'da thread oluşturarak eşzamanlı işlemleri yönetebilme
- İş parçacığı senkronizasyonu ve koordinasyonu için farklı thread senkronizasyon tekniklerini uygulayabilme
- Python'da process oluşturarak işlem yönetimini gerçekleştirebilme
- thread ve queue modüllerini bilme ve kullanma
- HTTP protokolünü ve web mimarisini anlayarak web istemcisi ve sunucusu arasındaki iletişimi yönetebilme
- Python'da web istekleri yaparak veri alışverişinde bulunabilme
- Web scraping tekniklerini kullanarak web sayfalarından veri çekebilme ve analiz edebilme
- Python'da RESTful API'leri kullanarak veri alışverişi yapabilme
- urllibs kullanımını açıklama
- Socket iletişimini açıklama
- Urllibs kullanma
- Socket iletişimini sağlama