Bilgisayar Programcılığı | |||||
Önlisans | TYYÇ: 5. Düzey | QF-EHEA: Kısa Düzey | EQF-LLL: 5. Düzey |
Ders Kodu: | BIL103 | ||||
Ders İsmi: | Veri Yapıları ve Programlama | ||||
Ders Yarıyılı: | Güz | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | Türkçe | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Zorunlu | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Öğr. Gör. AHMET SELİM ÖVER | ||||
Dersi Veren(ler): | Öğr. Gör. Sena Kaçar | ||||
Dersin Yardımcıları: |
Dersin Amacı: | Temel veri yapısı tasarımı için programlama dillerinin kullanımı • Veri uygulamaları için yapıların kodlanması • Bağlı listeler ve çeşitleri • Yığın veri yapısı • Kuyruklar • Sıralama-Arama Algoritmaları hakkında bilgi kazanımı sağlamak. |
Dersin İçeriği: | Programlama diline giriş ve tekrar (değişkenler, fonksiyonlar, diziler, işaretçiler ve yapılar, yeniden tanımlanabilir değişkenler). Algoritmaların karmaşıklığı. Veri yapılarına giriş, bağlı listeler, yığın ve kuyruk yapıları ile ilgili veri yapılarının tasarlanması. Sıralama, Arama Algoritmaları. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Programlama dili ile veri yapılarını ve algoritmaları oluşturabilir. Program kod parçacıklarını ve fonksiyonlarını analiz edebilir. 2) Pointer uygulamaları ile C'deki veriler arasında bir ilişki kurmak için pointer kavramını etkin bir şekilde kullanabilir, adrese dayalı basit fonksiyon yapıları, referansa göre erişim fonksiyonları ve yapıları, ulaşılacak tasarım fonksiyonları oluşturabilir 3) Bağlı listelerin özelliklerini ve çeşitlerini bilir, amaca yönelik olarak yeni bağlı liste formları yaratabilir, sözde-kodlarla bağlı liste yapılarını tanımlayacak bilgiye sahiptir. Bağlı listelerle ilgili fonksiyonları düzenleyebilir, veri ilişkilerini (head, next, info, left-right) problem çözmek için kullanabilir. 4) Stack ve Queue yapılarının özelliklerini bilir. Bağlı listeler kullanarak be yapıları oluşturabilir, tanımlı kütüphane fonksiyonları ile yeni veri yapıları oluşturup verilen bir problemi çözecek kod altyapısını tasarlar. 5) Sıralama-Arama Algoritmaları konusunda bilgi sahibidir |
Hafta | Konu | Ön Hazırlık |
1) | Veri Yapıları ve Algoritmalara Giriş | Yok |
2) | Programlamaya giriş (C’de temel veri türleri, değişkenler, C kodu yazma, operatörler) | Yok |
3) | Programlamada kontrol ifadeleri, Akış diyagramları, Fonksiyonlara giriş | Yok |
4) | Fonksiyonlar, Döngüler, Dizilerin genel yapısı | Yok |
5) | Veri yapısı ve algoritma yazımında kullanılacak olan fonksiyonel yapıların kodlanması | Yok |
6) | Bağlı Listeler 1 | Yok |
7) | Bağlı Listeler 2 | Yok |
8) | Vize | 1,2,3,4,5,6,7 |
9) | Yığınlar 1 | Yok |
10) | Yığınlar 2 | Yok |
11) | Kuyruk Yapıları 1 | Yok |
12) | Kuyruk Yapıları 2 | Yok |
13) | Arama Algoritmaları | Yok |
14) | Sıralama Algoritmaları | Yok |
15) | Final | Bütün Haftalar |
Ders Notları / Kitaplar: | Data Structures and Algorithms in Python Second Edition, Michael T. Goodrich, Roberto Tamassia, David M. Mount Data Structures Using C and C++, Second Edition, Yedidyah Langsam, Moshe J. Augenstein AAron M. Tenenbaum. |
Diğer Kaynaklar: | Data Structures and Algorithms in Python Second Edition, Michael T. Goodrich, Roberto Tamassia, David M. Mount Data Structures Using C and C++, Second Edition, Yedidyah Langsam, Moshe J. Augenstein AAron M. Tenenbaum. |
Ders Öğrenme Kazanımları | 1 |
2 |
3 |
4 |
5 |
||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||||
1) Problem çözme ve analitik düşünme yeteneklerini kazanır. | 3 | 3 | 3 | 3 | 3 | ||||||||
2) Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | 3 | 3 | 3 | 3 | 3 | ||||||||
3) Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | 3 | 3 | 3 | 3 | 3 | ||||||||
4) Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | 3 | 3 | 3 | 3 | 3 | ||||||||
5) Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | 3 | 3 | 3 | 3 | 3 | ||||||||
6) Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | 3 | 3 | 3 | 3 | 3 | ||||||||
7) Veritabanı tasarım ve kodlamasını yapar. | 3 | 3 | 3 | 3 | 3 | ||||||||
8) Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | 3 | 3 | 3 | 3 | 3 | ||||||||
9) İngilizce dilini etkin bir biçimde kullanır. | 3 | 3 | 3 | 3 | 3 | ||||||||
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | 3 | 3 | 3 | 3 | 3 | ||||||||
11) Bireysel ya da takım olarak yazılım geliştirir. | 3 | 3 | 3 | 3 | 3 | ||||||||
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | 3 | 3 | 3 | 3 | 3 | ||||||||
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. | 3 | 3 | 3 | 3 | 3 |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Problem çözme ve analitik düşünme yeteneklerini kazanır. | 3 |
2) | Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | 3 |
3) | Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | 3 |
4) | Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | 3 |
5) | Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | 3 |
6) | Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | 3 |
7) | Veritabanı tasarım ve kodlamasını yapar. | 3 |
8) | Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | 3 |
9) | İngilizce dilini etkin bir biçimde kullanır. | 3 |
10) | Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | 3 |
11) | Bireysel ya da takım olarak yazılım geliştirir. | 3 |
12) | Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | 3 |
13) | Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. | 3 |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Ara Sınavlar | 1 | % 40 |
Final | 1 | % 60 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 40 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 60 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Aktiviteye Hazırlık | Aktivitede Harçanan Süre | Aktivite Gereksinimi İçin Süre | İş Yükü | ||
Ders Saati | 1 | 30 | 30 | ||||
Küçük Sınavlar | 1 | 20 | 20 | ||||
Ara Sınavlar | 1 | 30 | 30 | ||||
Final | 1 | 40 | 40 | ||||
Toplam İş Yükü | 120 |