Programlama Mimarisi: Algoritma ve Veri Yapısı Prensipleri - Online Kurs | robot_dreams
  • Online Eğitim
  • 9 Hafta
  • 18 Ders

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:

Junior Geliştiriciler

Temel veri yapıları (yığın, heap, kuyruk, çizge, ağaç, hash tablosu, sözlük vb.) ve veri tipleri (int, char, string, bool vb.) hakkında bilgi sahibi olacak ve bu tipleri farklı şekillerde bir araya getirerek kompleks verileri depolayabileceksiniz. Ayrıca, recursion kavramını anlayarak, tekrar eden problemleri küçük parçalara ayırıp hızlı bir çözüm gerçekleştirebileceksiniz.

Middle Geliştiriciler

Algoritmaların performansını Big O notasyonu, zaman ve uzay karmaşıklığı açısından değerlendirebileceksiniz. Yığın ile heap arasından uygun yapıyı seçerek optimize edilmiş kod üretebilir ve kuyruk ile bağlı liste arasından sıralı veriler için en uygun veri yapısını seçip uygulayabilirsiniz. Ayrıca, çizge ve ağaç arasından hiyerarşi gerekip gerekmediğini göz önünde bulundurarak uygun veri yapısını seçerek kompleks navigasyon problemlerine etkili çözümler üretebileceksiniz.

Kariyer Değişikliği Düşünenler

Dinamik programlama ve açgözlü algoritmaların temel prensiplerini ve kullanım alanlarını anlayarak bu teknikleri etkin bir şekilde kullanabileceksiniz. Bu sayede, çeşitli algoritmik problemleri çözme yeteneğinizi geliştirerek, yeni kariyerinizde başarılı olabilirsiniz.

 

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.

 
 
 
Bilgi İstiyorum