BIL103 Veri Yapıları ve Programlamaİstinye ÜniversitesiAkademik Programlar Bilgisayar ProgramcılığıÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Bilgisayar Programcılığı

Önizleme

Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BIL103
Ders İsmi: Veri Yapıları ve Programlama
Ders Yarıyılı: Güz
Ders Kredileri:
AKTS
5
Öğretim Dili:
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
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 Amaç ve İçeriği

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ı.

Öğrenme Kazanımları

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

Ders Akış Planı

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

Kaynaklar

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 - Program Öğrenme Kazanım İlişkisi

Course Learning Outcomes

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

Ders - Öğrenme Kazanımı İlişkisi

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

Ölçme ve Değerlendirme

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

İş Yükü ve AKTS Kredisi Hesaplaması

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