| Ders Adı | Kodu | Verildiği Yıl | Verildiği Yarıyıl | Süresi (T+U) | Yerel Kredisi | AKTS Kredisi |
| Veri Yapıları | CPR 205 | 2 | 1 | 3 + 0 | 3 | 5,00 |
| |
| Ders Bilgileri |
| Dersin Öğretim Dili | İngilizce |
| Dersin Seviyesi | Ön Lisans |
| Dersin Türü | Zorunlu |
| Dersin Veriliş Biçimi | Yüz Yüze |
| |
Dersin Öğrenme Kazanımları:
Bu dersi başarı ile tamamlayan öğrenciler: |
| 1. Sıralama ve arama algoritmalarının nasıl çalıştıklarını ve yaklaşım farklılıklarını öğrenir. |
| 2. Özyineleme kavramını ve nasıl kullanacağını öğrenir. |
| 3. Yığıt ve kuyruk veri yapısı kavramlarını ve nasıl kullanacağını öğrenir. |
| 4. Bağlı liste veri yapısı kavramını ve nasıl kullanacağını öğrenir. |
| 5. İkili ağaç ve yığın ağacı veri yapısı kavramlarını ve nasıl kullanılacaklarını öğrenir. |
| |
| Dersin Önkoşulları ve Birlikte Alınması Gereken Dersler | Yok |
| Daha Önce Alınmış Olması Önerilen Dersler | Yok |
| |
Dersin Tanımı:
Bu ders, veri yapıları ve algoritmaların temel prensiplerine bir giriş sağlar. Öğrenciler, veri kümelerini yönetmek, erişmek ve işlemek için gerekli olan çeşitli veri yapısı tekniklerini ve algoritmik stratejileri öğreneceklerdir. |
| |
Üretken Yapay Zeka Kullanımı:
Kullanılmamaktadır. |
| |
| Dersin İçeriği (Haftalık Konu Dağılımı): |
| |
| Hafta | Konu |
| 1 | Veri Yapılarına Giriş |
| 2 | Programlama Dilleri Tekrarı |
| 3 | Sıralama Algoritmaları I |
| 4 | Sıralama Algoritmaları II |
| 5 | Arama Algoritmaları |
| 6 | Özyineleme I |
| 7 | Özyineleme II |
| 8 | Konu Tekrarı |
| 9 | Yığıt Veri Yapısı |
| 10 | Kuyruk Veri Yapısı |
| 11 | Bağlı Liste Veri Yapısı |
| 12 | İkili Ağaç Veri Yapısı |
| 13 | Yığıt Ağaç Veri Yapısı |
| 14 | Konu Tekrarı |
| |
| Kaynaklar: |
| Goodrich, M. T., Tamassia, R., Mount, D. M. Data Structures and Algorithms in C++ (2nd Edition). Wiley, 2011. ISBN-13: 978-0470383278. |
| |
| Diğer Kaynaklar: |
| |
| |
| Öğretim Yöntem ve Teknikleri: |
| Her hafta üç saat ders anlatılır. Sınavlara ek olarak quiz ve ödevler sayesinde ara değerlendirmeler gerçekleştirilir. |
| |
| Değerlendirme Sistemi: |
| Yöntem | Adet | Katkı (%) |
| Ara Sınav | 1 | %25 |
| Final Sınavı | 1 | %40 |
| Ödev | 1 | %10 |
| Test/Quiz/Kısa Sınav | 2 | %20 |
| Ders Katılımı | 1 | %5 |
| |
| 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) | 0 | 0,00 | 0,00 |
| 4 | İlgili materyalin toplanması ve seçilmesi (bir kez) | 0 | 0,00 | 0,00 |
| 5 | İlgili materyalin kendi kendine incelenmesi (haftalık bazda) | 0 | 0,00 | 0,00 |
| 6 | Ev ödevleri | 1 | 15,00 | 15,00 |
| 7 | Sınavlara Hazırlık | 1 | 20,00 | 20,00 |
| 8 | Ara Sınavlara Hazırlık (Sınavların süresi dahil) | 1 | 20,00 | 20,00 |
| 9 | Dönem Ödevi/Vaka Çalışması Raporunun Hazırlanması (sözlü sunum dahil) | 1 | 10,00 | 10,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 | 20,00 | 20,00 |
| |
Dersin Program Yeterlilikleri vs. Öğrenme Kazanımları:
|
| # | Program Yeterlilikleri | Katkı (0-4) |
| 1 | Bilgisayar sistemlerinde yeterli altyapıya sahip olma; bu alandaki kuramsal ve uygulamalı bilgileri bilgisayar sistemlerinde kullanabilme becerisi, Bilgisayar sistemindeki problemleri saptama, tanımlama ve çözme becerisi; bu amaçla uygun yöntemler ve tekniklerini seçme ve uygulama becerisi | 0 |
| 2 | Bir sistemi, sistem bileşenini ya da süreci analiz etme ve istenen gereksinimleri karşılamak üzere gerçekçi kısıtlar altında tasarlama becerisi; bu doğrultuda modern tasarım yöntemlerini uygulama becerisi, Bilgisayar programında gerekli olan teknik araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin kullanma becerisi | 0 |
| 3 | Bilgisayar Teknolojileri ve Programlama alanında tanımı iyi yapılmış problemlerin çözümü için gerekli olan verileri tanımlama, toplama ve kullanmayı etkin bir biçimde yapabilmek; pratik uygulamalarda gereken teorik bilgileri, el ve/veya düşünsel becerileri kullanabildiğini göstermek | 0 |
| 4 | İleri düzey programlama becerisi kazanır. Güncel bilgisayar programlama teknolojilerini kullanarak sektörün beklentilerini karşılayacak şekilde Bilgisayar Programcılığı ile ilgili süreci/süreçleri planlama becerisine sahip olmak. | 0 |
| 5 | Bağımsız çalışabilme, inisiyatif alabilme, özgün içerikler oluşturabilme ve yazılım takımları içinde verimli çalışabilme becerisine sahip olmak. | 0 |
| 6 | Türkçeyi ve İngilizce yazılı ve sözlü olarak etkin bir biçimde kullanabilme, sunulan Bilgisayar Programcılığı bilgisini kolayca takip etme ve meslektaşlarıyla etkin bir biçimde iletişim kurabilme becerisine sahip olmak. | 0 |
| 7 | Sorunların çözümünde bilimsel yöntemler kullanmayı benimser ve problem çözme becerisini geliştirir. | 0 |
| 8 | Bilgiye erişebilmeye bu amaçla kaynak araştırması yapabilme, veri tabanları ve diğer bilgi kaynaklarını kullanabilme becerisi, Yaşam boyu öğrenmenin gerekliliği bilinci; bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | 0 |
| 9 | Kendi alanı ile ilgili çalışmalarda öngörülmeyen durumlarla ilgili sorunları belirleme ve çözüm arama yeteneğini kazandığını göstermek | 0 |
| 10 | Bilgiye erişebilme bilimde ve teknolojide gelişmeleri takip edebilme ve sürekli kişisel gelişimi sürdürebilme becerisine sahip olmak | 0 |
| 11 | Mesleki, hukuksal, sosyal ve etik sorumluluklarını anlayabilir ve uygular. | 0 |