DERS TANITIM BİLGİLERİ


Dersin Adı
Veri Yapıları ve Algoritmalar I
Kodu
Yarıyıl
Teori
(saat/hafta)
Uygulama/Lab
(saat/hafta)
Yerel Kredi
AKTS
CE 221
Güz
3
2
4
7
Ön-Koşul(lar)
 SE 116En az FD notu almış olmak
Dersin Dili
İngilizce
Dersin Türü
Zorunlu
Dersin Düzeyi
Lisans
Dersin Veriliş Şekli -
Dersin Öğretim Yöntem ve Teknikleri Problem çözme
Deney / Laboratuvar / Atölye uygulama
Anlatım / Sunum
Dersin Koordinatörü
Öğretim Eleman(lar)ı
Yardımcı(ları)
Dersin Amacı Bu dersin amacı, öğrencilere, bilgisayar algoritmalarının tasarım ve analizinin temelini oluşturan Soyut Veri Yapıları (SVY) kavramını öğretmektir. Bu ders temel SVY’leri ele alarak bu yapıların pratikte gerçeklenmesini sağlayan bazı veri yapıları ve algoritmaları sunar. Derste, algoritmaların çalışma zamanları asimptotik olarak analiz edilerek, algoritma verimliliği vurgulanır. Uygulamalar ve programlama için SE 115 ve/veya SE 116 derslerinde öğretilen programlama dillerinden biri kullanılır.
Öğrenme Çıktıları Bu dersi başarıyla tamamlayabilen öğrenciler;
  • Özyinelemeli olan ya da olmayan algoritmaların asimptotik çalışma zamanlarını büyük-O gösterimini kullanarak analiz edebilecektir.
  • Veri ekleme ve silme işlemleri yapan arama problemlerinin çözümünde, dizi ve bağlı liste yapıları ile karma teknikleri arasından daha avantajlı olanı seçebilecektir.
  • Ağaç yapılarından uygun olanları kullanarak arama, ekleme ve silme operasyonları başına O (log n) maliyetle çalışacak bilgisayar programları geliştirebilecektir.
  • Sıralamaya ihtiyaç duyan verimli uygulamalar için, doğru sıralama algoritmasını seçebilecektir.
  • Çeşitli veri yapılarının kullanım alanlarını tarif edebilecektir.
  • Yaygın veri yapılarını idame ettirmek için gerekli operasyonları açıklayabilecektir.
  • Hesaplama problemlerini çözümünde gerekecek uygun veri yapılarını tasarlayabilecektir.
  • Basit hesaplama problemlerine çizge algoritmaları kullanan çözümler tasarlayabilecektir.
Ders Tanımı Algoritma analizi, lineer veri yapıları, ağaçlar, karma, öncelik kuyrukları, sıralama ve çizge algoritmaları.
Dersin İlişkili Olduğu Sürdürülebilir Kalkınma Amaçları

 



Dersin Kategorisi

Temel Ders
X
Uzmanlık/Alan Dersleri
Destek Dersleri
İletişim ve Yönetim Becerileri Dersleri
Aktarılabilir Beceri Dersleri

 

HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI

Hafta Konular Ön Hazırlık
1 Giriş: Matematiksel Tekrar ve Özyineleme M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 1.1, 1.2, 1.3)
2 Algoritma Analizi (temel algoritma kavramları, çalışma zamanlarının modellenmesi, Büyük-O gösterimi, çalışma zamanlarının hesaplanması) M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 2.1, 2.2, 2.3)
3 Algoritma Analizi ve Doğrusal Veri Yapıları (Bağlı Listeler) M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 2.4, 3.1 - 3.5)
4 Doğrusal Veri Yapıları (Bağlı Listeler, Yığıtlar, Yığıt Uygulamaları) M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 3.5, 3.6)
5 Doğrusal Veri Yapıları (Kuyruklar) ve Ağaçlar (İkili Ağaçlar) M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 3.7, 4.1, 4.2)
6 Ağaçlar (İkili Arama Ağaçları) M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 4.3)
7 Ağaçlar (AVL Ağaçları) M. A. Weiss, Data Structures and Algorithm Analysis in in Java, 3/e, Pearson, 2012 (Bölüm 4.4)
8 Karma M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 5.1 – 5.5)
9 Ara Sınav
10 Öncelik Kuyrukları: İkili Yığınlar M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 6.1, 6.2, 6.3)
11 Sıralama (Araya Eklemeli Sıralama, Shell Sıralama, Yığın Sıralaması) M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 7.1, 7.2, 7.3, 7.4, 7.5)
12 Sıralama (Birleştirme sıralaması, Hızlı Sıralama) M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 7.6, 7.7)
13 Çizge Algoritmaları (Tanımlar, Gösterimler, Topolojik Sıralama) M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 9.1 - 9.2)
14 Çizge Algoritmaları (En Kısa Yol Algoritmaları) M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012 (Bölüm 9.3)
15 Dersin gözden geçirilmesi
16 Final Sınavı
Ders Kitabı

M. A. Weiss, Data Structures and Algorithm Analysis in Java, 3/e, Pearson, 2012, 978-0132576277

Önerilen Okumalar/Materyaller

R. Sedgewick, K. Wayne, Algorithms, 4/e, Addison-Wesley Professional, 2011, 978-0321573513

 

DEĞERLENDİRME ÖLÇÜTLERİ

Yarıyıl Aktiviteleri Sayı Katkı Payı %
Katılım
Laboratuvar / Uygulama
8
40
Arazi Çalışması
Küçük Sınav / Stüdyo Kritiği
Portfolyo
Ödev
Sunum / Jüri Önünde Sunum
Proje
Seminer/Çalıştay
Sözlü Sınav
Ara Sınav
1
20
Final Sınavı
1
40
Toplam

Yarıyıl İçi Aktivitelerin Başarı Notuna Katkısı
2
60
Yarıyıl Sonu Aktivitelerin Başarı Notuna Katkısı
1
40
Toplam

AKTS / İŞ YÜKÜ TABLOSU

Yarıyıl Aktiviteleri Sayı Süre (Saat) İş Yükü
Teorik Ders Saati
(Sınav haftası dahildir: 16 x teorik ders saati)
16
3
48
Laboratuvar / Uygulama Ders Saati
(Sınav haftası dahildir. 16 x uygulama/lab ders saati)
16
2
Sınıf Dışı Ders Çalışması
14
3
42
Arazi Çalışması
Küçük Sınav / Stüdyo Kritiği
Portfolyo
Ödev
1
40
Sunum / Jüri Önünde Sunum
Proje
Seminer/Çalıştay
Sözlü Sınav
Ara Sınavlar
1
24
Final Sınavı
1
24
    Toplam
210

 

DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ

#
Program Yeterlilikleri / Çıktıları
* Katkı Düzeyi
1
2
3
4
5
1

Mühendislik Bilgisi: Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve ilgili mühendislik disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.

2

Problem Analizi: Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını* gözeterek tanımlama, formüle etme ve analiz becerisi*

X
3

Mühendislik Tasarımı: Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları* gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi.

X
4

Teknik ve Araçların Kullanımı: Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi.

X
5

Araştırma ve İnceleme: Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi.

X
6

Mühendislik Uygulamalarının Küresel Etkisi: Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları* kapsamında, topluma, sağlık ve güvenliğe, ekonomiye,sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

7

Etik Davranış: Mühendislik meslek ilkelerine* uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık. (FENG101)

8

Bireysel ve Takım Çalışması: Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi.

9

Sözlü ve Yazılı İletişim: Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda

10

Proje Yönetimi: Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık.

11

Yaşam Boyu Öğrenme: Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi.

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest