Gün 1
Python Refresher
Eğitimin ilk bölümünde temel Python bilgilerinin üzerinden hızlı bir tekrar yapılır.
Konular:
- Built-in data types
- Lists
- Tuples
- Dictionaries
- Sets
- Program structure
- Files
- Console I/O
- If statement
- For loops
- While loops
Data Structures and Algorithms
Bu bölümde temel bilgisayar bilimi veri yapıları ve algoritmalar Python bağlamında ele alınır.
Konular:
- Linked List
- Stack
- Queue
- Trees
- Graphs
- Sorting Algorithms
Katılımcılar bu yapıların kullanım alanlarını ve Python ile nasıl uygulanabileceklerini inceler.
Gün 2
Errors and Exception Handling
Bu bölüm, daha güvenilir Python uygulamaları geliştirmek için hata yönetimine odaklanır.
Konular:
- Syntax errors
- Exceptions
- try / except / else / finally
- Birden fazla exception yönetimi
- Exception'ları yok sayma
- Hata senaryolarını kontrollü biçimde yönetme
Regular Expressions
Katılımcılar Python'da regular expression kullanarak metin tabanlı veriler üzerinde gelişmiş arama ve dönüştürme işlemleri gerçekleştirir.
Konular:
- RE Objects
- Searching
- Matching
- Dataset içerisinde regex ile arama
- Wireshark trace dosyalarında veri arama
- Python ve
.pcap dosyalarıyla çalışma - Compilation flags
- Groups
- Special groups
- Replacing text
- Splitting strings
Advanced Functional Features of Python
Bu bölüm Python'ın fonksiyonel programlama özelliklerini ele alır.
Konular:
- Advanced unpacking
- List Comprehension
- Anonymous functions
- Lambda expressions
- Generator Expressions
- Decorators
- Closures
- Single dispatch
- Multi dispatch
- Relative imports
__init__ kullanımının geliştirilmesi- Documentation best practices
Gün 3
Metaprogramming
Bu bölüm Python'ın dinamik yapısını daha ileri düzeyde kullanmaya odaklanır.
Konular:
- OOP conventions
- Class data
- Static data
- Class methods
- Static methods
- Dictionary kullanarak sınıf üretme
super() method- Metaclasses
- Abstract Base Classes
- Special methods
- Context protocols
- Iterator protocols
- Implicit properties
globals()locals()- Object attributes
inspect module- Callable classes
- Monkey patching
Advanced File Handling
Katılımcılar dosya ve dizin işlemlerini daha gelişmiş yöntemlerle yönetmeyi öğrenir.
Konular:
- Paths
- Directories
- Filenames
- Dosya ve dizin varlık kontrolü
- Permissions
- File attributes
- Directory tree traversal
fileinput- Dosya filtreleme
shutil- File operations
Gün 4
Advanced Data Structures
Bu bölüm Python'ın standart kütüphanesinde yer alan gelişmiş veri yapılarına odaklanır.
Konular:
- defaultdict
- Counter
- namedtuple
- Data Classes
- pickle
- Pretty printing
- Compressed archives
- ZIP
- GZIP
- TAR
- Persistent data
Multiprogramming and Concurrency
Katılımcılar eş zamanlı programlama modellerini inceler.
Konular:
- Concurrent programming
- Multithreading
threading module- Shared variables
queue modulemultiprocessing module- Process pools
- Coroutines
- Async programming
Python Design Patterns
Bu bölüm tekrar kullanılabilir ve sürdürülebilir uygulama tasarımlarına odaklanır.
Konular:
- Design pattern ihtiyacı
- Design pattern türleri
- Creational patterns
- Structural patterns
- Behavioral patterns
- Best coding practices
Gün 5
Developer Tools
Bu bölüm profesyonel Python geliştirme süreçlerinde kullanılan araçları ele alır.
Konular:
- Pylint ile program analizi
- Debugger kullanımı
- Profiling
- Benchmarking
- Kod performansını ölçme
Unit Testing with PyTest
Katılımcılar Python uygulamalarında otomatik test yazmayı ve çalıştırmayı öğrenir.
Konular:
- Unit test nedir?
- Unit-test framework
- PyTest
- doctest
- Test yazımı
- Fixtures
- Test runners
- Mocking
- External resource'ların taklit edilmesi
- Gerçek uygulamalarda test stratejileri
Uygulamalı Projeler
Programın son bölümünde katılımcılar öğrendikleri teknikleri gerçek uygulama örnekleri üzerinde kullanır.
Command-Line Minesweeper
Katılımcılar klasik Minesweeper oyununu komut satırında çalışan bir Python uygulaması olarak geliştirir.
Dosya Yeniden Adlandırma Uygulaması
Belirlenen Python kurallarına göre bir klasör içindeki dosyaları otomatik olarak yeniden adlandıran bir araç oluşturulur.
Binary Search
Binary search algoritması Python ile uygulanır ve çalışma mantığı incelenir.
Random Password Generator
Belirli kriterlere göre rastgele parola üreten bir Python uygulaması geliştirilir.
Countdown Timer
Python'ın time modülü kullanılarak geri sayım uygulaması oluşturulur.