Dersin Adı Dersin Seviyesi Dersin Kodu Dersin Tipi Dersin Dönemi Yerel Kredi AKTS Kredisi Ders Bilgileri
DATA STRUCTURES AND ALGORITHMS İkinci Düzey YZ 205 3 5.00 5.00 Yazdır
   
Dersin Tanımı
Ön Koşul Dersleri
Eğitimin Dili
Koordinatör DR. ÖĞR. ÜYESİ NAZLI TEKİN
Dersi Veren Öğretim Eleman(lar)ı
Yardımcı Öğretim Eleman(lar)ı
Dersin Veriliş Şekli
Dersin Amacı The objective of this course is to equip students with a solid foundation in data structures and algorithms, emphasizing both theoretical analysis and practical implementation. Students will learn to analyze algorithmic efficiency using Big-O notation and evaluate trade-offs in time and space complexity. The course covers core data structures including linked lists, stacks, queues, binary search trees, AVL and Red-Black trees, hash tables, binary heaps, and graphs, as well as fundamental algorithms for sorting, searching, and graph traversal.
Dersin Tanımı This course covers fundamental data structures (arrays, linked lists, stacks, queues, trees, and graphs) along with algorithm design and analysis. Students learn sorting, searching, and graph traversal algorithms, and develop efficient solutions by analyzing time and space complexity. The aim is to build problem-solving skills and reinforce algorithmic thinking.

Dersin İçeriği
1 Introduction to Algorithms
2 Java - The Collection Api
3 Recursion
4 Sorting Algorithms
5 Implementation of ArrayList
6 Linked List
7 Stacks and Queues and Priority Queues
8 Binary Search Trees
9 AVL & Red Black Trees
10 Hash Table
11 A Priority Queue: The Binary Heap
12 Graphs
13
14
15
16
17
18
19
20

Dersin Öğrenme Çıktıları
1 Students can analyze the time and space complexity of sorting, searching, and graph traversal algorithms using Big-O notation.
2 Students can implement fundamental data structures including linked lists, stacks, queues, binary search trees, and hash tables in Java.
3 Students can select appropriate data structures (e.g., balanced trees, heaps, hash tables) to optimize performance for given computational problems.
4 Students can debug and test their implementations of data structures and algorithms to ensure correctness and efficiency.
5 Students can apply recursive approaches to solve problems that involve tree traversals and divide-and-conquer algorithms.
6
7
8
9
10

*Dersin Program Yeterliliklerine Katkı Seviyesi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Yıldızların sayısı 1’den (en az) 5’e (en fazla) kadar katkı seviyesini ifade eder

Planlanan Öğretim Faaliyetleri, Öğretme Metodları ve AKTS İş Yükü
  Sayısı Süresi (saat) Sayı*Süre (saat)
Yüz yüze eğitim 17 3 51
Sınıf dışı ders çalışma süresi (ön çalışma, pekiştirme) 0 0 0
Ödevler 0 0 0
Sunum / Seminer hazırlama 0 0 0
Kısa sınavlar 0 0 0
Ara sınavlara hazırlık 0 0 0
Ara sınavlar 1 2 2
Proje (Yarıyıl ödevi) 0 0 0
Laboratuvar 0 0 0
Arazi çalışması 0 0 0
Yarıyıl sonu sınavına hazırlık 0 0 0
Yarıyıl sonu sınavı 1 2 2
Araştırma 0 0 0
Toplam iş yükü     55
AKTS     2.00

Değerlendirme yöntemleri ve kriterler
Yarıyıl içi değerlendirme Sayısı Katkı Yüzdesi
Ara sınav 1 40
Kısa sınav 0 0
Ödev 0 0
Yarıyıl içi toplam   40
Yarıyıl içi değerlendirmelerin başarıya katkı oranı   40
Yarıyıl sonu sınavının başarıya katkı oranı   60
Genel toplam   100

Önerilen Veya Zorunlu Okuma Materyalleri
Ders kitabı Y. Daniel Liang, “Introduction to Java Programming and Data Structures”, 12th Edition.
Yardımcı Kaynaklar Mark Allen Weiss, “Data Structures & Problem Solving Using Java”, International Edition. Data Structures and Algorithms in Java (2nd Edition), Robert Lafore

Ders İle İlgili Dosyalar