| Ders Adı | Kodu | Verildiği Yıl | Verildiği Yarıyıl | Süresi (T+U) | Yerel Kredisi | AKTS Kredisi |
| Veri Yapılarına Giriş | CS 202 | 2 | 2 | 3 + 0 | 3 | 6,00 |
| |
| Ders Bilgileri |
| Dersin Öğretim Dili | İngilizce |
| Dersin Seviyesi | Lisans |
| Dersin Türü | |
| Dersin Veriliş Biçimi | Yüz Yüze |
| |
Dersin Öğrenme Kazanımları:
Bu dersi başarı ile tamamlayan öğrenciler: |
| 1. Öğrenciler Python'da temel veri yapılarını uygulamayabilecekler. |
| 2. Öğrenciler,Çeşitli veri yapılarının performansını analiz edebilecek. |
| 3. Öğrenciler, farklı problemler için uygun veri yapılarını seçebilecek. |
| 4. Öğrenciler, veri yapılarını gerçek dünya uygulamalarında uygulayabilecek. |
| 5. Öğrenciler, özyinelemeyi ve veri yapılarındaki rolünü anlayabilecek. |
| 6. Öğrenciler, ağaç tabanlı ve grafik tabanlı yapıları uygulamak. |
| 7. Öğrenciler, sıralama ve arama algoritmalarını etkili bir şekilde uygulayabilecek. |
| 8. Öğrenciler, zaman ve mekan karmaşıklığı arasındaki dengeleri değerlendirmek. |
| |
| Dersin Önkoşulları ve Birlikte Alınması Gereken Dersler | Yok |
| Daha Önce Alınmış Olması Önerilen Dersler | Yok |
| |
Dersin Tanımı:
Bu ders, listeler, yığınlar, kuyruklar, bağlantılı listeler, ağaçlar, yığınlar, karma tablolar ve grafikler dahil olmak üzere temel veri yapılarını kapsar. Uygulamalar Python dilinde olup, algoritma analizi, verimlilik ve gerçek dünya problemlerinin çözümünde uygulamalara vurgu yapılır. |
| |
Üretken Yapay Zeka Kullanımı:
- |
| |
| Dersin İçeriği (Haftalık Konu Dağılımı): |
| |
| Hafta | Konu |
| 1 | Veri Yapıları ve Algoritma Analizine Giriş |
| 2 | Python İncelemesi: Listeler, Demetler, Sözlükler, Kümeler |
| 3 | Algoritma Karmaşıklığı ve Büyük O Gösterimi |
| 4 | Yığınlar ve Kuyruklar |
| 5 | Bağlantılı Listeler |
| 6 | Özyineleme |
| 7 | Ağaçlar ve İkili Arama Ağaçları |
| 8 | Öncelikli Kuyruklar ve Yığınlar |
| 9 | Karma İşlem ve Karma Tabloları |
| 10 | Grafikler ve Grafik Algoritmaları |
| 11 | Sıralama Algoritmaları |
| 12 | Arama Algoritmaları |
| 13 | Arama Algoritmaları |
| 14 | Ders Tekrarı ve Final Sınavı Hazırlığı |
| |
| Kaynaklar: |
| Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, Data Structures and Algorithms in Python, Wiley, 2013, 978-1118290279 |
| |
| Diğer Kaynaklar: |
| Brad Miller, David Ranum, Problem Solving with Algorithms and Data Structures Using Python Franklin, Beedle & Associates, 2011, 978-1590282571. |
| |
| Öğretim Yöntem ve Teknikleri: |
| Haftada 3 saat ders anlatımı. Katılım zorunludur. |
| |
| Değerlendirme Sistemi: |
| Yöntem | Adet | Katkı (%) |
| Ara Sınav | 1 | %40 |
| Final Sınavı | 1 | %60 |
| |
| Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu? |
| Gerektirmiyor |
| |
Dersin AKTS İş Yükü:
|
| # | Aktivite | Adet | Süre (Saat) | İş Yükü |
| 1 | Derslere Katılım (haftalık bazda) | 14 | 3,00 | 42,00 |
| 2 | Laboratuvarlara/Derslere Katılım (haftalık bazda) | 0 | 0,00 | 0,00 |
| 3 | Notların önceden hazırlanması ve son haline getirilmesi (haftalık bazda) | 14 | 1,00 | 14,00 |
| 4 | İlgili materyalin toplanması ve seçilmesi (bir kez) | 1 | 12,00 | 12,00 |
| 5 | İlgili materyalin kendi kendine incelenmesi (haftalık bazda) | 14 | 3,00 | 42,00 |
| 6 | Ev ödevleri | 0 | 0,00 | 0,00 |
| 7 | Sınavlara Hazırlık | 0 | 0,00 | 0,00 |
| 8 | Ara Sınavlara Hazırlık (Sınavların süresi dahil) | 1 | 15,00 | 15,00 |
| 9 | Dönem Ödevi/Vaka Çalışması Raporunun Hazırlanması (sözlü sunum dahil) | 0 | 0,00 | 0,00 |
| 10 | Dönem Projesi/Saha Çalışması Raporunun Hazırlanması (sözlü sunum dahil) | 0 | 0,00 | 0,00 |
| 11 | Final Sınavına Hazırlık (sınav süresi dahil) | 1 | 25,00 | 25,00 |
| |
Dersin Program Yeterlilikleri vs. Öğrenme Kazanımları:
|
| # | Program Yeterlilikleri | Katkı (0-4) |
| 1 | Mühendislik, finans ve bilimsel sorunları çözmek için yeni algoritmalar kullanma, geliştirme ve uygulama becerisine sahip olur. | 3 |
| 2 | Bilgisayar bilimlerinin teorisi ve geçmişiyle ilgili yeterli bilgiye sahiptir. | 3 |
| 3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında belirli gereksinimleri karşılayacak şekilde tasarlama yeteneği; bu amaçla çağdaş tasarım tekniklerini kullanma yeteneğine sahip olur. | 4 |
| 4 | Bireysel ve çok disiplinli takımlarda etkin bir şekilde çalışabilme becerisine sahip olur. | 3 |
| 5 | Türkçe sözlü ve yazılı olarak etkili iletişim kurma becerisi; en az bir yabancı dil bilmek; etkili rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlama, etkili sunum yapma ve anlaşılır talimatlar sağlama becerilerine sahip olur. | 3 |
| 6 | Yaşam boyu öğrenmenin öneminin farkında olmak, bilgiye erişmek, teknoloji ve bilimdeki ilerlemeleri izlemek ve kendini sürekli geliştirmek. | 3 |
| 7 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilikçilik; sürdürülebilir kalkınma | 4 |
| 8 | Günümüz hesaplama araçlarını kullanarak bir soyut veya gerçek dünya problemini analiz edebilir. | 4 |
| 9 | Mesleki ve ahlaki sorumluluklar ve bunların hukuksal sonuçları hakkında daha fazla bilgi edinir. | 4 |
| 10 | Gerçek hayattaki bir sorunu nümerik ve analitik bir şekilde analiz etme becerisine sahiptir. | 4 |
| 11 | Daha derin fikirler elde etmek için teorik ve deneysel modeller kullanabilme ve karşılaştırma yeteneğine sahiptir. | 4 |