Programlama Mimarisi: Algoritma ve Veri Yapısı Prensipleri
Kod dünyasının karmaşasına meydan okumanın zamanı geldi! Algoritma ve veri yapılarına dair bilginizi güçlendirecek, kod altyapınızı optimize etme becerinizi geliştirecek ve programlama dilini rahatlıkla kullanabileceksiniz!
Selda Güner
Kıdemli Yazılım Geliştirici
Takım Lideri, Ex - Akbank
Kurs hakkında:
- TARIH:
13 Ağustos -
10 Ekim 2024 - SÜRE:
9 Hafta /
18 Ders
Bu kursta, yazılım geliştirme süreçlerinde verimliliği artırmak için algoritmaların performansını değerlendirme, veri yapılarının uygunluğunu seçme ve karmaşık navigasyon problemlerine etkili çözümler üretme becerileri kazandırılmaktadır. Kurs, katılımcılara algoritma ve veri yapılarının temellerini kavramayı, bunları optimize etmeyi ve doğru kullanmayı öğretmeyi amaçlamaktadır. Ödevlerini başarıyla tamamlayan en yüksek puana sahip 3 kişiye "Teknik Mülakat Simülasyonu" yapılacak ve mülakattan geçen en başarılı aday eğitmenle birebir mentörlük oturumuna hak kazanacaktır.
Aşağıdaki kişilere kursu öneririz:
Kursta aşağıdaki konuları analiz edeceğiz:
-
01
Veri Yapıları
Diziler, bağlı listeler, yığınlar, kuyruklar, çizgeler, ağaçlar ve hash tabloları gibi çeşitli veri yapılarını derinlemesine inceleyeceksiniz.
-
02
Performans, Zaman ve Uzay Karmaşıklığı
Kodun verimliliğini artırmak için Big O notasyonu, zaman karmaşıklığı ve uzay karmaşıklığı gibi metriklerle algoritma performansının nasıl ölçüleceği öğreneceksiniz.
-
03
Arama Algoritmaları
Karmaşık arama problemlerinin üzerinden gelmenize yardımcı olacak çeşitli arama algoritmalarını öğrenecek ve bunların performanslarını analiz edeceksiniz.
Eğitmen
Selda Güner
Kıdemli Yazılım Geliştirici
Takım Lideri, Ex - Akbank
-
Airbus Hamburg’da başlayan staj deneyiminden sonra 2 yıl General Electric Healthcare firmasında sağlık sektöründe çalışmış, 6 yıl Turkishbank ve Akbank’da bankacılık deneyimi elde etmiştir.
-
6 yıl Nokia ile Telekom sektör deneyimi ve 1 yıl Eureko Sigorta ile sigortacılık deneyimi ile 15 yıl üzeri çok sayıda yazılım geliştirme, proje yönetimi ve online uygulama yönetimi tecrübesi bulunmaktadır.
-
Hastane içinde Hastane Bilgi Sistemi ve görüntü üretebilen tıbbi cihazların General Electric Healthcare sistemleri ile entegre bir şekilde çalışmasını sağlamıştır.
-
Bankacılık alanında temel bankacılık işlemleri, EFT sistemi, Kara Liste sorgulama, Telefon bankacılığı gibi birçok alanda deneyim sahibidir.
-
Java teknolojilerini kullanarak SOA tabanlı backend ve frontend kurumsal uygulamalar geliştirmiştir.
MÜFREDAT
-
01 Ders
Algoritmalar ve Veri Yapıları Dünyası
- Algoritma
- Veri yapısı
- Gerçek problemler üzerine beyin fırtınası
- Kod nasıl yazılmalı?
-
02 Ders
Temel Veri Tipleri
- Temel veri tipleri
- Sayısal veri tipleri (tamsayı ve kesirli veri tipleri)
- Char
- Mantıksal veri tipi: Boolean
- Operatör tipleri (atama, aritmetik, ilişkisel, mantıksal)
-
03 Ders
Temel Veri Yapıları: Diziler (Array) ve Bağlı Listeler (Linked List)
- Veri yapısı kavramı
- Tek boyutlu dizi
- FIFO (First-in-First-Out) ve LIFO (Last-in-First-Out) yapısı
- İki boyutlu ve daha çok boyutlu diziler
- Matris işlemleri
- Dizi üzerinde operasyonlar
- Dizi kullanımına örnekler
-
04 Ders
Temel Veri Yapıları: Yığın (Stack)
- Yığın veri yapısı
- Yığın üzerinde operasyonlar
- Yığın kullanımına örnekler
-
05 Ders
Temel Veri Yapıları: Kuyruk (Queue)
- Kuyruk veri yapısı
- Kuyruk üzerinde operasyonlar
- Dizi ile kuyruk ilişkisi
- Kuyruk kullanımına örnekler
-
06 Ders
Performans, Zaman ve Uzay Karmaşıklığı
- Big O notasyonu
- Zaman karmaşıklığı
- Uzay karmaşıklığı
- Dizilerin performans açısından analizi: Big O, zaman ve uzay karmaşıklığı
- Bağlı listelerin performans açısından analizi: Big O, zaman ve uzay karmaşıklığı
- Yığınların performans açısından analizi: Big O, zaman ve uzay karmaşıklığı
- Kuyrukların performans açısından analizi: Big O, zaman ve uzay karmaşıklığı
-
07 Ders
Doğrusal Olmayan (Non-Linear) Veri Yapıları: Çizge (Graph)
- Çizge veri yapısı
- Çizge üzerinde operasyonlar
- Çizge kullanımına örnekler
- Özel çizge çeşitleri (kapsamlı ağaç, minimum kapsamlı ağaç, güçlü bağlı graf, komşuluk matrisi, komşuluk listesi)
-
08 Ders
Doğrusal Olmayan (Non-Linear) Veri Yapıları: Ağaç (Tree)
- Ağaç veri yapısı
- Ağaç üzerinde operasyonlar
- Ağaç kullanımına örnekler
- Ağaç ile çizge ilişkisi
- Özel ağaç çeşitleri (ikili ağaç, ikili arama ağacı, AVL ağacı, B ağaçları, kırmızı siyah ağaçlar)
- Yığın ağacı (heap)
-
09 Ders
Temel Veri Yapıları: Hash Tablosu
- Hash tablosu ve hash fonksiyonları
- Çakışma tespit metotları ve kaçınma stratejileri
- Hash tablosu üzerinde operasyonlar
- Hash tablosu kullanımına örnekler
- Sözlük ve hash tablosu ilişkisi
- Nesneyi bir değer olarak bir metoda aktarma
-
10 Ders
Obje Referanslı Veri Tipleri
- Pointer, obje, wrapper objeler
- Veri tipi olarak null, class ve interface
- Primitive veri tipleri ile farklılıkları
- String
-
11 Ders
Pseudocode ile Algoritma Geliştirme
- Algoritma çeşitleri
- Algoritma kullanım alanları
- Pseudocode kavramı
- Pseudocode örnekleri
-
12 Ders
Recursion
- Recursion
- Recursion fonksiyonların performans açısından analizi: Big O, zaman ve uzay karmaşıklığı
- Recursion kullanımına örnekler
-
13 Ders
Arama Algoritmaları (Search)
- Arama algoritmaları (Sıralı veya lineer, İkili arama, üçlü arama, jump search, interpolasyon arama, fibonacci arama, üstel arama vb.)
- Arama algoritmalarının performans açısından analizi: Big O, zaman ve uzay karmaşıklığı
- Tipik arama problemleri ve kullanılan algoritmalar (metin arama algoritmaları vb.)
-
14 Ders
Sıralama Algoritmaları (Sort)
- Bubble sort
- Insertion sort
- Selection sort
- Merge sort
- Quick sort
- Sıralama algoritmalarının performans açısından analizi: Big O, zaman ve uzay karmaşıklığı
- Tipik sıralama problemleri ve kullanılan algoritmalar
-
15 Ders
Çizge Algoritmaları (Graph)
- Breadth First Search (BFS)
- Depth First Search (DFS)
- En büyük k. elemanı bulma
- Komşuluk matrisi
- Ağırlıklı çizge kenarları
- En kısa yolu bulma algoritmaları (Bellman-Ford, Dijkstra, Floyd-Warshall, Johnson’s vb.)
- Algoritmalarının performans açısından analizi: Big O, zaman ve uzay karmaşıklığı
- Tipik problemler ve kullanılan algoritmalar
-
16 Ders
Dinamik Programlama
- Dinamik programlama mantalitesi
- Recursion vs dinamik programlama
- Tepeden inme yaklaşım (top-down approach)
- Aşağıdan yukarı yaklaşım (bottom-up approach)
- Dinamik programlamanın performans açısından analizi: Big O, zaman ve uzay karmaşıklığı
- Örnek problemler ve çözümleri
-
17 Ders
Açgözlü Algoritmalar
- Açgözlü algoritmalar mantalitesi
- Açgözlü algoritmalar vs dinamik programlama
- Açgözlü algoritmaların bileşenleri
- Açgözlü algoritmaların performans açısından analizi: Big O, zaman ve uzay karmaşıklığı
- Örnek problemler ve çözümleri
-
18 Ders
Kariyer Sohbeti ve Soru Cevap Oturumu
- Algoritmaları nerede nasıl kullanmalı
- Teknik mülakatlarda başarılı olmak için ipuçları
- Kod pratiği yapmak için website önerileri
- Eğitmenin tecrübeleri ve tavsiyeleri
- Soru cevap oturumu
Bilgi İstiyorum
Kursa kayıt olmak için formu doldurun, eğitim danışmanımız en kısa sürede sizlere ulaşarak kurs içeriği ve ücretlendirme hakkında detaylı bilgi verecektir.