BİLGİSAYAR MÜHENDİSLİĞİ
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 1410211001
Ders İsmi: Veri Yapıları
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 8
Öğretim Dili: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Doç. Dr. Ali ÇİVRİL
Dersi Veren(ler): Doç. Dr. Ali ÇİVRİL
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersi başarı ile tamamlayabilen öğrenciler
1. Bilgisayar Bilimi/Mühendisliği’nde karşılaşılan problemleri çözmek için farklı veri yapılarını kullanmanın gerekliliği ve önemini anlamış olacak
2. Temel veri yapılarını ve algoritmaları ve bunların implementasyonunu bilecek
3. Veri yapıları ve algoritmalar bilgisiyle çeşitli problemleri çözebilecek
4. Bu problemlere bulunan çözümleri C++’da yazabilecektir.
Dersin İçeriği: Bu ders C++’ta bilgisayar bilimi ve mühendisliğinde kullanılan temel veri yapılarıyla problem çözme tekniklerini ve temel algoritmik yöntemleri konu edinmektedir. Ders girişte algoritma analizi ve verimliliğinden, sıralama algoritmalarından bahseder. Konu edinilen veri yapıları arasında bağlı listeler, yığıtlar, kuyruklar, ağaçlar, yığınlar, çırpı tabloları ve çizgeler vardır. Çizgeler üzerindeki temel algoritmalardan, böl-ve-fethet yönteminden ve dinamik programlamadan da bahsedilecektir.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
1) Değişik uygulama alanlarında veri yapılarının kullanılma ve karşılaştırabilme becerisi.
2) Uygulama tasarlama ve geliştirme için gerekli araçları kullanma becerisi.
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Algoritma Analizi, O Notasyonu Çölkesen Bölüm 5, Weiss Chapter 2
1)
2) Sıralama Algoritmaları Çölkesen Bölüm 6, Weiss Chapter 7
3) Sıralama Algoritmaları, Arama Algoritmaları Çölkesen Bölüm 6, Bölüm 7, Weiss Chapter 7
4) Bağlantılı Listeler Çölkesen Bölüm 8, Weiss Chapter 3
5) Bağlantılı Listeler Çölkesen Bölüm 8, Weiss Chapter 3
6) Yığınlar Çölkesen Bölüm 9, Weiss Chapter 3
7) Kuyruklar Çölkesen Bölüm 9, Weiss Chapter 3
8) ARA SINAV
9) Ağaçlar Çölkesen Bölüm 10, Weiss Chapter 4
10) Ağaçlar Çölkesen Bölüm 10, Weiss Chapter 4
11) Bellek Yığınları ve Kümeleme Sıralaması Çölkesen Bölüm 6.6, Weiss Chapter 6
12) Çırpı Tabloları Çölkesen Bölüm 7.4, Weiss Chapter 5
13) Çizge Algoritmaları Çölkesen Bölüm 12, 13, Weiss Chapter 9
14) Çizge Algoritmaları Çölkesen Bölüm 12, 13, Weiss Chapter 9
15) Final

Kaynaklar

Ders Notları / Kitaplar: Tavsiye) Veri Yapıları ve Algoritmalar, Toros Rifat Çölkesen, Papatya Yayıncılık. (Tavsiye) Data Structures and Algorithm Analysis in C++, 4th Edition, Mark Allen Weiss, Pearson. (Tavsiye) C++ How to Program, 10th Edition (Global Edition), Paul Deitel-Harvey Deitel, Pearson.
Diğer Kaynaklar: Tavsiye) Veri Yapıları ve Algoritmalar, Toros Rifat Çölkesen, Papatya Yayıncılık. (Tavsiye) Data Structures and Algorithm Analysis in C++, 4th Edition, Mark Allen Weiss, Pearson. (Tavsiye) C++ How to Program, 10th Edition (Global Edition), Paul Deitel-Harvey Deitel, Pearson.

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

Ders Öğrenme Kazanımları

1

2

Program Kazanımları
1) PÇ 1.1) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi
2) PÇ 1.2) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
3) PÇ 2.1) Karmaşık mühendislik problemlerini saptama
4) PÇ 2.2) Karmaşık mühendislik problemlerini tanımlama
5) PÇ 2.3) Karmaşık mühendislik problemlerini formüle etme
6) PÇ 2.4) Karmaşık mühendislik problemlerini çözme becerisi
7) PÇ 2.5) Uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
8) PÇ 3.1) 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 becerisi
9) PÇ 3.2) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında modern tasarım yöntemlerini uygulama becerisi
10) PÇ 4.1) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme
11) PÇ 4.2) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi
12) PÇ 4.3) Bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
13) PÇ 5.1) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney tasarlama
14) PÇ 5.2) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney yapma,
15) PÇ 5.3 ) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi veri toplama
16) PÇ 5.4) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi sonuçları analiz etme
17) PÇ 5.5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi yorumlama becerisi

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

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) PÇ 1.1) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi
2) PÇ 1.2) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
3) PÇ 2.1) Karmaşık mühendislik problemlerini saptama
4) PÇ 2.2) Karmaşık mühendislik problemlerini tanımlama
5) PÇ 2.3) Karmaşık mühendislik problemlerini formüle etme
6) PÇ 2.4) Karmaşık mühendislik problemlerini çözme becerisi
7) PÇ 2.5) Uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi 5
8) PÇ 3.1) 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 becerisi
9) PÇ 3.2) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında modern tasarım yöntemlerini uygulama becerisi
10) PÇ 4.1) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme
11) PÇ 4.2) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi
12) PÇ 4.3) Bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
13) PÇ 5.1) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney tasarlama
14) PÇ 5.2) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney yapma,
15) PÇ 5.3 ) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi veri toplama
16) PÇ 5.4) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi sonuçları analiz etme
17) PÇ 5.5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi yorumlama becerisi

Öğrenme Etkinliği ve Öğretme Yöntemleri

Ders
Ödev
Problem Çözme

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Ödev

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ödev 3 % 30
Ara Sınavlar 1 % 30
Yarıyıl/Yıl Sonu Sınavı 1 % 40
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 3 42
Laboratuvar 14 2 28
Sınıf Dışı Ders Çalışması 14 4 56
Ödevler 10 2 20
Ara Sınavlar 1 2 2
Final 1 3 3
Toplam İş Yükü 151