| Ders Adı | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| Veri Yapıları ve Algoritmalar | SWE 201 | 3 | 3 + 1 | 4 | 5 |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler | |
| Dersin Dili | İngilizce |
| Dersin Seviyesi | Lisans |
| Dersin Türü | Zorunlu |
| Dersin Koordinatörü | Doç.Dr. İBRAHİM DELİBAŞOĞLU |
| Dersi Verenler | Doç.Dr. İBRAHİM DELİBAŞOĞLU, |
| Dersin Yardımcıları | |
| Dersin Kategorisi | Alanına Uygun Öğretim |
| Dersin Amacı | Bu dersin temel amacı C++ programlama dilini kullanarak temel veri yapılarına ve bunları işlemek için kullanılan algoritmalara bir giriş yapmaktır. |
| Dersin İçeriği | Temel C++ programlama ve algoritma kavramları, sıralama algoritmalarıTemel soyut ver tipleri, Liste soyut veri tipi, Dizi tabanlı liste, Bağlı liste, Yığıt soyut veri tipi, Kuyruk soyut veri tipi, Dairesel kuyruk, Ağaç Soyut veri tipi, İkili ağaç, İfade ağacı ve İkili arama ağacı, Öncelikli kuyruk ve Heap ağacı, AVL ağaçları, Küme soyut veri tipi, Hash tabloları |
| Kalkınma Amaçları |
|---|
|
| # | Ders Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri |
|---|---|---|---|
| 1 | Temel veri tipleri, programlama ve algoritma analizi konularında bilgi sahibi olur. | Anlatım, Soru-Cevap, Gezi / Gözlem, | |
| 2 | Liste, yığıt ve kuyruk soyut veri tiplerini bilir ve bunları dizi tabanlı ve bağlı yapıda gerçekleştirir. | Anlatım, Soru-Cevap, Gezi / Gözlem, | |
| 3 | Ağaç ADT, ikili ağaç ADT ve heap ağacını bilir ve gerçekleştirir. | Anlatım, Soru-Cevap, Gezi / Gözlem, | |
| 4 | Sıralama algoritmaları | Anlatım, Soru-Cevap, Gezi / Gözlem, |
| Hafta | Ders Konuları | Ön Hazırlık |
|---|---|---|
| 1 | Giriş, veri tipleri, fonksiyonlar, C++ derleme, işaretçiler | 1. hafta sunusu |
| 2 | C++ sınıflar ve nesneler, diziler, öz yinelemeli algoritmalar | 2. hafta sunusu |
| 3 | Arama ve Sıralama Algoritmaları | 3. hafta sunusu |
| 4 | Liste soyut veri tipi, Dizi tabanlı gerçekleştirme | 4. hafta sunusu |
| 5 | Bağlı listeler, Tek yönlü bağlı listeler | 5. hafta sunusu |
| 6 | Çift yönlü bağlı listeler, Dairesel bağlı listeler | 6. hafta sunusu |
| 7 | Yığıt soyut veri tipi ve gerçekleştirilmesi | 7. hafta sunusu |
| 8 | Kuyruk soyut veri tipi ve gerçekleştirilmesi | 8. hafta sunusu |
| 9 | Ağaç soyut veri tipi, ikili ağaçlar, ikili arama ağacı | 9. hafta sunusu |
| 10 | İkili arama ağacı örnekleri | 10. hafta sunusu |
| 11 | Heap ağacı, heap sıralama | 11. hafta sunusu |
| 12 | Dengeli ikili ağaçlar, AVL ağaçları | 12. hafta sunusu |
| 13 | Hash tabloları, Map | 13. hafta sunusu |
| 14 | Python veri yapıları | 14. hafta sunusu |
| Kaynaklar | |
|---|---|
| Ders Notu | Drozdek, Adam. Data Structures and algorithms in C++. Cengage Learning, 2012. |
| Ders Kaynakları | Prof. Dr. Nejat YUMUŞAK, Dr. M. Fatih ADAK, "C/C++ ile Veri Yapıları ve Çözümlü Uygulamalar", Seçkin yayıncılık, 2016 Parker, Alan. Algorithms and data structures in C++. Routledge, 2018. |
| Hafta | Dokümanlar | Açıklama | Boyut |
|---|---|---|---|
| 1 | Week 1_ C++ basics and performance analysis.pdf | 0 MB |
| Sıra | Program Çıktıları | Katkı Düzeyi | |||||
|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | Mühendislik Bilgisi: Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve ilgili mühendislik disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | X | |||||
| 2 | Problem Analizi: Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını gözeterek tanımlama, formüle etme ve analiz becerisi. | ||||||
| 3 | Mühendislik Tasarımı: Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi. | ||||||
| 4 | Teknik ve Araçların Kullanımı: Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi. | ||||||
| 5 | Araştırma ve İnceleme: Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi. | ||||||
| 6 | Mühendislik Uygulamalarının Küresel Etkisi: Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları* kapsamında, topluma, sağlık ve güvenliğe, ekonomiye, sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. | ||||||
| 7 | Mühendislik Etiği: Mühendislik meslek ilkelerine* uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık. | ||||||
| 8 | Bireysel ve Takım Çalışması: Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi. | ||||||
| 9 | Sözlü ve Yazılı İletişim: Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda sözlü, yazılı etkin iletişim kurma becerisi. | ||||||
| 10 | Proje Yönetimi: Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık. | ||||||
| 11 | Yaşam Boyu Öğrenme: Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi. | ||||||
| # | Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı | PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Temel veri tipleri, programlama ve algoritma analizi konularında bilgi sahibi olur. | 1 | ||||||||||
| 2 | Liste, yığıt ve kuyruk soyut veri tiplerini bilir ve bunları dizi tabanlı ve bağlı yapıda gerçekleştirir. | 0 | ||||||||||
| 3 | Ağaç ADT, ikili ağaç ADT ve heap ağacını bilir ve gerçekleştirir. | |||||||||||
| 4 | Sıralama algoritmaları |
| Değerlendirme Sistemi | |
|---|---|
| Yarıyıl Çalışmaları | Katkı Oranı |
| 1. Ara Sınav | 60 |
| 1. Kısa Sınav | 10 |
| 1. Ödev | 10 |
| 1. Proje / Tasarım | 10 |
| 2. Ödev | 10 |
| Toplam | 100 |
| 1. Final | 50 |
| 1. Yıl İçinin Başarıya | 50 |
| Toplam | 100 |
| AKTS - İş Yükü Etkinlik | Sayı | Süre (Saat) | Toplam İş Yükü (Saat) |
|---|---|---|---|
| Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) | 16 | 3 | 48 |
| Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) | 16 | 3 | 48 |
| Final | 1 | 10 | 10 |
| Performans Görevi (Laboratuvar) | 2 | 2 | 4 |
| Ara Sınav | 1 | 10 | 10 |
| Kısa Sınav | 1 | 5 | 5 |
| Toplam İş Yükü | 125 | ||
| Toplam İş Yükü / 25 (Saat) | 5 | ||
| dersAKTSKredisi | 5 | ||