| Ders Adı | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| Veri Yapıları ve Programlama | BTP 106 | 2 | 3 + 0 | 3 | 5 |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler | |
| Dersin Dili | Türkçe |
| Dersin Seviyesi | Ön Lisans |
| Dersin Türü | Zorunlu |
| Dersin Koordinatörü | Öğr.Gör. SİNAN İLYAS |
| Dersi Verenler | |
| Dersin Yardımcıları | |
| Dersin Kategorisi | Diğer |
| Dersin Amacı | Programlama dillerinin genel yapıları öğretilerek, yazılım geliştirme aşamasında kullanılacak veri yapılarının bilgisine temel seviyede sahip olmak |
| Dersin İçeriği | C/C++ programlama dili genel yapısı, very tipi, diziler, işaretciler fonksiyonlar, nesneye yönelik programlama, yığın yapısı, kuyruk yapısı, bağlı liste yapısı, ağaç yapısı, graf yapısı, temel sıralama algoritmaları, algoritma analizleri |
| # | Ders Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri |
|---|---|---|---|
| 1 | Programlama dillerinin genel yapısını bilir, C/C++ programlama dilinde kullanabilir | Anlatım, Soru-Cevap, Beyin Fırtınası, Deney ve Laboratuvar, | |
| 2 | Programlama dillerinde kullanılan temel veri tiplerini, dizileri, karakter dizilerini, tanımlamalı very tiplerini bilir, C/C++ programlama dilinde kullanabilir | Anlatım, Soru-Cevap, Beyin Fırtınası, Deney ve Laboratuvar, | |
| 3 | İşaretcileri, özyinelemeli fonksiyonları bilir, C/C++ programlama dilinde kullanabilir | Deney ve Laboratuvar, | |
| 4 | Geliştirilen algoritmanın analizini yapabilir | Anlatım, Soru-Cevap, Beyin Fırtınası, Deney ve Laboratuvar, | |
| 5 | Temel sıralama algoritmaları, yığın, kuyruk, bağlı liste, ağaç ve graf yapılarını ve nesneye yönelik programlama kavramını bilir ve bu yapıları yazılım tasarımı aşamasında kullanabilir | Anlatım, Soru-Cevap, Beyin Fırtınası, Deney ve Laboratuvar, | |
| 6 | |||
| 7 | |||
| 8 | |||
| 9 |
| Hafta | Ders Konuları | Ön Hazırlık |
|---|---|---|
| 1 | Veri yapılarına giriş, veri-veri yapıları-program ilişkisi, temel veri tipleri, C++ programlama dilinin temel veri tipleri | |
| 2 | Programlama dillerinde dizi kavramı, tek boyutlu dizileri, çok boyutlu diziler, C++ programlama dilinde kullanımı | |
| 3 | Karakter dizileri, krakter dizisi işlemleri ve string sınıfı | |
| 4 | Tanımlamalı veri tipleri, yapı değişkenleri ve numaralandırma (enumeration) | |
| 5 | İşaretçiler, işaretçilerin tanımlanması ve kullanılması | |
| 6 | Nesneye yönelik programlama, nesne ve sınıf kavramı, kurucu ve yıkıcı fonksiyonlar, miras alma | |
| 7 | Özyineleme kavramı ve özyinelemeli fonksiyonlar | |
| 8 | Sıralama algoritmalarına giriş, seçerek sıralama, kabarcık sıralama, birleşmeli sıralama ve hızlı sıralama algoritmaları | |
| 9 | Algoritma analizi, zaman karmaşıklığı kavramı, Big-O zaman karmaşıklığı | |
| 10 | Yığın yapısı, yığın yapısına eleman ekleme ve çıkarma işlemleri, yığın yapısı örneği | |
| 11 | Kuyruk yapısı, kuyruk yapısına eleman ekleme ve çıkarma işlemleri, kuyruk yapısı örneği | |
| 12 | Bağlı Liste yapısı, bağlı liste çeşitleri, bağlı liste yapısına eleman ekleme ve çıkarma işlemleri, bağlı liste örneği | |
| 13 | Ağaç yapısı, ikili arama ağacı, ikili arama ağacı işlemleri | |
| 14 | Graf yapısı, graflar ve matrisler, graflar üzerinde dolaşma |
| Kaynaklar | |
|---|---|
| Ders Notu | |
| Ders Kaynakları | |
| Sıra | Program Çıktıları | Katkı Düzeyi | |||||
|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | Matematik, fen bilimleri ve kendi alanları ile ilgili konularda yeterli alt yapıya sahip olmak | X | |||||
| 2 | Alanında edindiği temel düzeydeki bilgi ve becerileri kullanarak, verileri yorumlayabilme ve değerlendirebilme, sorunları tanımlayabilme, çözüm önerileri geliştirebilme becerisine sahip olmak | X | |||||
| 3 | Alanı ile ilgili uygulamalar için gerekli olan modern teknikleri, araçları ve bilişim teknolojilerini belirleme ve etkin kullanabilmek. | X | |||||
| 4 | Yaşam boyu öğrenmenin gerekliliği bilinci; bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi kazandırmak. | X | |||||
| 5 | İş güvenliği, işçi sağlığı ve çevre koruma bilgisi ve bilincine sahip olmak. | X | |||||
| # | Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı | PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 |
|---|---|---|---|---|---|---|
| 1 | Programlama dillerinin genel yapısını bilir, C/C++ programlama dilinde kullanabilir | |||||
| 2 | Programlama dillerinde kullanılan temel veri tiplerini, dizileri, karakter dizilerini, tanımlamalı very tiplerini bilir, C/C++ programlama dilinde kullanabilir | |||||
| 3 | İşaretcileri, özyinelemeli fonksiyonları bilir, C/C++ programlama dilinde kullanabilir | |||||
| 4 | Geliştirilen algoritmanın analizini yapabilir | |||||
| 5 | Temel sıralama algoritmaları, yığın, kuyruk, bağlı liste, ağaç ve graf yapılarını ve nesneye yönelik programlama kavramını bilir ve bu yapıları yazılım tasarımı aşamasında kullanabilir | |||||
| 6 | ||||||
| 7 | ||||||
| 8 | ||||||
| 9 |
| Değerlendirme Sistemi | |
|---|---|
| Yarıyıl Çalışmaları | Katkı Oranı |
| 1. Kısa Sınav | 50 |
| 2. Kısa Sınav | 50 |
| Toplam | 100 |
| 1. Yıl İçinin Başarıya | 20 |
| 1. Final | 80 |
| 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 |
| Ara Sınav | 1 | 10 | 10 |
| Kısa Sınav | 2 | 5 | 10 |
| Ödev | 1 | 5 | 5 |
| Final | 1 | 15 | 15 |
| Toplam İş Yükü | 136 | ||
| Toplam İş Yükü / 25 (Saat) | 5,44 | ||
| dersAKTSKredisi | 5 | ||