SWE209 Data Structures and Algorithmsİstinye ÜniversitesiAkademik Programlar Yazılım Mühendisliği(İngilizce)(Diğer Fakülteler İçin)YandalÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler

Ders Genel Tanıtım Bilgileri

Ders Kodu: SWE209
Ders İsmi: Veri Yapıları ve Algoritmalar
Ders Yarıyılı: Güz
Ders Kredileri:
AKTS
6
Öğretim Dili: İngilizce
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ü: Dr. Öğr. Üy. MUHAMMED DAVUD
Dersi Veren(ler): Dr. Öğr. Üyesi Muhammed Davud
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu ders, diziler, bağlı listeler, yığınlar, kuyruklar, ağaçlar ve grafler gibi temel veri yapılarının yanı sıra karmaşık veri yapıları olan hash tabloları ve heapleri de içeren çeşitli konuları kapsar. Öğrenciler ayrıca sıralama ve arama algoritmalarını da içeren algoritma analizi ve tasarımı hakkında bilgi edinecekler. Ek olarak, öğrenciler algoritmik problem çözme teknikleri, algoritmik karmaşıklık ve büyük-O gösterimi hakkında bilgi sahibi olacaklar. Ders boyunca öğrenciler, derslerde ve okumalarda ele alınan kavramları uygulayan programlama ödevleri ve projelerini tamamlamak zorunda kalacaklar.
Dersin İçeriği: Bu ders, diziler, bağlı listeler, yığınlar, kuyruklar, ağaçlar ve grafler gibi temel veri yapılarının yanı sıra karmaşık veri yapıları olan hash tabloları ve heapleri de içeren çeşitli konuları kapsar. Öğrenciler ayrıca sıralama ve arama algoritmalarını da içeren algoritma analizi ve tasarımı hakkında bilgi edinecekler. Ek olarak, öğrenciler algoritmik problem çözme teknikleri, algoritmik karmaşıklık ve büyük-O gösterimi hakkında bilgi sahibi olacaklar. Ders boyunca öğrenciler, derslerde ve okumalarda ele alınan kavramları uygulayan programlama ödevleri ve projelerini tamamlamak zorunda kalacaklar.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Veri yapıları ve algoritmaların temel kavramlarını anlamak ve uygulamak.
2) Sıralama ve arama algoritmaları dahil olmak üzere algoritma analizi ve tasarım tekniklerini anlamak ve uygulamak.
3) Ders boyunca öğrenilen kavramları kullanarak algoritmik problemleri analiz etmek ve uygun çözümleri uygulamak.
4) Algoritmik karmaşıklık ve büyük-O gösterimini anlamak ve farklı algoritmaları analiz etmek ve karşılaştırmak için uygulamak.
5) Programlama problemlerini çözmek için verimli ve optimize edilmiş algoritmalar geliştirmek.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Giriş
2) Algoritmanın Karamaşıklığı Analizi
3) Yineleme
4) Yiğinlar
5) Kuyruklar
6) Listeler
7) Sıralama Algoritmaları
8) Ara Sınav
9) Arama Algoritmaları
10) Ağaçlar
11) Heapler
12) Graflar
13) Graflar
14) Hashleme

Kaynaklar

Ders Notları / Kitaplar: Ellis Horowitz, Sartaj Sahni and Dinesh Mehta, Fundamentals of Data Structure in C++, W.H.Freeman
Diğer Kaynaklar: Lecture notes

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

Course Learning Outcomes

1

2

3

4

5

Program Kazanımları

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ı

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Küçük Sınavlar 1 % 10
Ara Sınavlar 1 % 40
Final 1 % 50
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 50
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 50
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı İş Yükü
Ders Saati 13 39
Laboratuvar 13 26
Sınıf Dışı Ders Çalışması 14 60
Küçük Sınavlar 4 8
Ara Sınavlar 1 3
Final 1 3
Toplam İş Yükü 139