| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
|---|---|---|---|---|---|
| BİLTEK-113 | VERİ YAPILARI VE PROGRAMLAMA | Seçmeli Ders Grubu | 1 | 1 | 3,00 |
Önlisans
Türkçe
Öğrencilere Python programlama dili kullanarak temel veri yapılarını (diziler, bağlı listeler, yığınlar, kuyruklar, ağaçlar) ve temel algoritmaları (arama, sıralama) öğretmek; verimli programlama teknikleri, bellek yönetimi ve özyineleme kavramlarını uygulamalı olarak kazandırmaktır. Öğrenciler, problemleri analiz edip uygun veri yapısını seçerek çözüm geliştirme becerisi kazanacaklardır.
Öğr.Gör. Adil Kondiloğlu
| 1 | Python programlama dilini kullanarak temel veri yapılarını (dizi, liste, sözlük) tanımlar ve uygular. |
| 2 | Bağlı liste, yığın ve kuyruk yapılarını Python sınıf yapısı ile implemente eder ve uygulama geliştirir. |
| 3 | Özyineleme (recursion) mantığını kullanarak problemleri çözer ve rekürsif algoritmalar tasarlar. |
| 4 | Temel sıralama (seçerek, kabarcık, birleştirmeli) ve arama (doğrusal, ikili) algoritmalarını açıklar, analiz eder ve Python ile uygular. |
| 5 | Ağaç veri yapısını tanımlar, ikili arama ağacı (BST) operasyonlarını (ekleme, arama, dolaşım) Python ile gerçekleştirir. |
Birinci Öğretim
Yok
Python programlama dili ile veri yapılarına giriş, temel veri tipleri, kontrol yapıları, fonksiyonlar, işaretçi kavramı (Python referans modeli), özyineleme, struct yapıları (Python sınıfları), bellek yönetimi, bağlı listeler (tek yönlü, çift yönlü), yığın ve kuyruk yapıları, temel sıralama algoritmaları (seçerek sıralama, kabarcık sıralama, birleştirmeli sıralama), arama algoritmaları (doğrusal arama, ikili arama) ve ağaç veri yapıları.
| Hafta | Teorik | Uygulama | Laboratuvar |
|---|---|---|---|
| 1 | Veri Yapılarına Giriş: Veri yapısı kavramı, algoritma analizi (Big-O), Python ile veri yapılarına genel bakış | ||
| 2 | Veri Tipleri, Karar Kontrol Yapıları, Döngüler: Python veri tipleri, if-elif-else, for/while döngüleri, list comprehension | ||
| 3 | Diziler ve Dizeler (Strings): Tek/boyutlu diziler, string işlemler, slicing, string metotları, Regular Expressions | ||
| 4 | Fonksiyonlar: Fonksiyon tanımlama, parametre geçişi (positional, keyword, default), return değerleri, lambda fonksiyonları | ||
| 5 | İşaretçiler (Python Referans Modeli): Python'da referans semantiği, mutable vs immutable, id() fonksiyonu, bellek adresleri, alias kavramı | ||
| 6 | Özyineleme (Recursion): Rekürsiyon kavramı, base case ve recursive case, örnekler (faktöriyel, fibonacci), recursion tree | ||
| 7 | Struct ve Union (Python Sınıfları): Class yapısı, init metodu, instance/class variables, inheritance (kalıtım) temelleri | ||
| 8 | Bellek Yönetimi: Python bellek modeli, garbage collection, stack vs heap, bellek optimizasyonu | ||
| 9 | Bağlı Listeler: Tek yönlü bağlı liste, düğüm yapısı, ekleme/silme/arama işlemleri, çift yönlü bağlı liste tanıtımı | ||
| 10 | Yığın (Stack): Stack yapısı ve LIFO prensibi, push/pop/peek operasyonları, uygulamalar (parantez denetimi, postfix) | ||
| 11 | Kuyruk (Queue): Queue yapısı ve FIFO prensibi, enqueue/dequeue operasyonları, öncelikli kuyruk (priority queue) tanıtımı | ||
| 12 | Sıralama Algoritmalarına Giriş: Algoritma karmaşıklığı analizi, Seçerek Sıralama (Selection Sort), Kabarcık Sıralama (Bubble Sort), Birleştirmeli Sıralama (Merge Sort) | ||
| 13 | Arama Algoritmalarına Giriş: Doğrusal Arama (Linear/Sequential Search), İkili Arama (Binary Search), arama algoritması analizi | ||
| 14 | Ağaç Yapısı Kavramları ve Çeşitleri: Ağaç terminolojisi, ikili ağaç (binary tree), ikili arama ağacı (BST), ağaç dolaşımları (in-order, pre-order, post-order) |
Python Algorithms: Mastering Basic Algorithms in the Python Language - Magnus Lie Hetland Veri Bilimi İçin Python - Dr. Bülent ÇOBANOĞLU
Anlatım, Soru-Cevap, Beyin Fırtınası, Tartışma, Uygulama (Laboratuvar), Problem Çözme, Proje Tabanlı Öğrenme
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 50 |
| Ara Sınav İçin Bireysel Çalışma | 5 | 50 |
| Toplam | 100 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
| Final Sınavı | 1 | 50 |
| Final Sınavı için Bireysel Çalışma | 5 | 50 |
| Toplam | 100 | |
| Yarıyıl (Yıl) İçi Etkinlikleri | 40 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | 60 | |
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 1 | 1 |
| Final Sınavı | 1 | 1 | 1 |
| Derse Katılım | 12 | 3 | 36 |
| Uygulama/Pratik | 7 | 2 | 14 |
| Proje Hazırlama | 2 | 2 | 4 |
| Ara Sınav İçin Bireysel Çalışma | 6 | 3 | 18 |
| Final Sınavı içiin Bireysel Çalışma | 6 | 3 | 18 |
| Toplam İş Yükü (saat) | 92 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | PÇ 12 | PÇ 13 | PÇ 14 | PÇ 15 | PÇ 16 | PÇ 17 | |
| ÖÇ 1 | 5 | 4 | 4 | 3 | 4 | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | ||
| ÖÇ 2 | 5 | 5 | 4 | 4 | 4 | 4 | 5 | 4 | 3 | 3 | 3 | 4 | 4 | 3 | 4 | ||
| ÖÇ 3 | 5 | 5 | 4 | 4 | 4 | 4 | 4 | 3 | 3 | 4 | 4 | 4 | 4 | 3 | 4 | ||
| ÖÇ 4 | 5 | 4 | 4 | 4 | 4 | 3 | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 3 | 4 | ||
| ÖÇ 5 | 5 | 5 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 3 | 4 | 3 |