Dersin Adı Ders Kodu Yarıyılı Teori
(Saat/Hafta)
Uygulama
(Saat/Hafta)
Akts
VERİ YAPILARI BIL 109 1 3 0 5,0
Önkoşul(lar)-var ise
Dersin Dili Türkçe
Dersin Türü Ön Lisans
Dersin sorumlusu(ları)
Dersin Amacı Öğrencilere programlama uygulamalarında temel veri yapılarını ve algoritmalarının nasıl kullanılabileceği bilgisini kazandırmak.
Dersin Verilme Şekli Örgün
Sıra No Dersin Öğrenme Çıktıları Öğretim Yöntemleri Değerlendirme Yöntemleri Program Yeterliliklerini Karşılama Düzeyi(1)(2)(3)(4)(5)
1 Knows the general structure of programming languages, can use C programming language
1 Programlama dillerinin genel yapısını bilir, C programlama dilinde kullanabilir Anlatım, Soru-cevap, Gösterip Yaptırma Sınav 2, 3
2 Programlama dillerinde kullanılan temel veri tiplerini, dizileri, karakter dizilerini, tanımlamalı veri tiplerini bilir, C programlama dilinde kullanabilir Anlatım, Soru-cevap, Gösterip Yaptırma Sınav 3, 5, 9
2 Knows basic data types, arrays, character arrays, defined data types used in programming languages, can use it in C programming language.
3 Knows pointers, recursive functions, can use in C programming language
3 İşaretcileri, özyinelemeli fonksiyonları bilir, C programlama dilinde kullanabilir Anlatım, Soru-cevap, Gösterip Yaptırma Sınav 2, 3, 4, 5, 6, 12
4 Geliştirilen algoritmanın analizini yapabilir Anlatım, Soru-cevap, Gösterip Yaptırma Sınav 2, 3, 4, 5, 6, 9, 12, 13
4 Can analyze the developed algorithm
5 Knows basic sorting algorithms, stack, queue, linked list, tree and graph structures and object-oriented programming concepts and can use these structures in software design.
5 Temel sıralama algoritmaları, yığın, kuyruk, bağlı liste, ağaç ve graf yapılarını ve nesneye yönelik programlama kavramını bilir ve bu yapıları yazılım tasarımı aşamasında kullanabilir Anlatım, Soru-cevap, Gösterip Yaptırma Sınav 2, 3, 4, 5, 6, 9, 10, 12, 13
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
Dersin İçeriği
Veri yapılarına giriş, Veri yapıları ve temel veri modelleri, Liste ve bağlantılı listeler, İşaretleyiciler, Dizilerin bellekte gösterimi ve infix-prefix-postfix,İterasyon ve özyinelemeli fonksiyonları, Yığın veri modeli, Kuyruk veri modeli, Ağaç veri modeli, Graf veri modeli, Sıralama algoritmaları, Sıralama algoritmaları, Arama algoritmaları
Kaynaklar
1.Ders slaytları, çıktıları ve dijital program kaynak kodları. 2.Çölkesen, T. R. (2021).“Veri yapıları ve Algoritmalar”. Papatya Bilim.
Haftalara Göre İşlenecek Konular
Haftalar Konular Dokümanlar
1 . Hafta Introduction to data structures, data-data structures-program relationship, basic data types, basic data types of C++ programming language
1 . Hafta Veri yapılarına giriş, veri-veri yapıları-program ilişkisi, temel veri tipleri, C++ programlama dilinin temel veri tipleri
2 . Hafta Programlama dillerinde dizi kavramı, tek boyutlu dizileri, çok boyutlu diziler, C++ programlama dilinde kullanımı
2 . Hafta Array concept in programming languages, one-dimensional arrays, multidimensional arrays, its use in C++ programming language
3 . Hafta Strings, string operations, and the string class
3 . Hafta Karakter dizileri, krakter dizisi işlemleri ve string sınıfı
4 . Hafta Tanımlamalı veri tipleri, yapı değişkenleri ve numaralandırma (enumeration)
4 . Hafta Defined data types, structure variables and enumeration
5 . Hafta Pointers, definition and use of pointers
5 . Hafta İşaretçiler, işaretçilerin tanımlanması ve kullanılması
6 . Hafta Nesneye yönelik programlama, nesne ve sınıf kavramı, kurucu ve yıkıcı fonksiyonlar, miras alma
6 . Hafta Object-oriented programming, concept of object and class, constructor and destructor functions, inheritance
7 . Hafta The concept of recursion and recursive functions
7 . Hafta Özyineleme kavramı ve özyinelemeli fonksiyonlar
8 . Hafta Ara Sınav
8 . Hafta Midterm Exam
9 . Hafta Introduction to sorting algorithms, selective sort, bubble sort, associative sort and quicksort algorithms
9 . Hafta Sıralama algoritmalarına giriş, seçerek sıralama, kabarcık sıralama, birleşmeli sıralama ve hızlı sıralama algoritmaları
10 . Hafta Algoritma analizi, zaman karmaşıklığı kavramı, Big-O zaman karmaşıklığı
10 . Hafta Algorithm analysis, time complexity concept, Big-O time complexity
11 . Hafta Heap structure, adding and removing elements from the heap structure, heap structure example
11 . Hafta Yığın yapısı, yığın yapısına eleman ekleme ve çıkarma işlemleri, yığın yapısı örneği
12 . Hafta Kuyruk yapısı, kuyruk yapısına eleman ekleme ve çıkarma işlemleri, kuyruk yapısı örneği
12 . Hafta Queue structure, adding and removing elements from the queue structure, example of queue structure
13 . Hafta Linked List structure, types of linked lists, adding and removing elements from linked list structure, linked list example
13 . Hafta Bağlı Liste yapısı, bağlı liste çeşitleri, bağlı liste yapısına eleman ekleme ve çıkarma işlemleri, bağlı liste örneği
14 . Hafta Ağaç yapısı, ikili arama ağacı, ikili arama ağacı işlemleri. Graf yapısı, graflar ve matrisler, graflar üzerinde dolaşma
14 . Hafta Tree structure, binary search tree, binary search tree operations.Graph structure, graphs and matrices, navigating over graphs
15 . Hafta Final Exam
15 . Hafta Dönem Sonu Sınavı
Değerlendirme Sistemi
Yarıyıl içi çalışmaları Sayısı Katkı Payı (%)
Ara Sınav 1 30
Performans Ödevi 0 0
Dönem Sonu Sınavı 0 0
0 0
0 0
0 0
1 60
0 0
0 0
0 0
1 10
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
Toplam 100
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı 2 30
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 1 0
Toplam 100
AKTS (Öğrenci İş Yükü) Tablosu
Etkinlikler Sayısı Süresi Toplam İş Yükü
ödev 1 10 10
vize 0 0 0
final 0 0 0
Ders 0 0 0
Sınıf Dışı Ders Calışma Süresi (Ön çalışma, pekiştirme) 0 0 0
0 0 0
0 0 0
0 0 0
1 15 15
0 0 0
0 0 0
1 5 5
2 5 10
0 0 0
0 0 0
0 0 0
0 0 0
16 3 48
0 0 0
0 0 0
16 3 48
0 0 0
Toplam İş Yükü 136
Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi
Sıra No Program Yeterlilikleri Katkı Düzeyi*
1 2 3 4 5
1 To be able to construct mathematical models of computer systems and simulate them on computer. X
2 Knows algorithm design and can make analysis techniques. X
3 Knows how to develop algorithms and can create the appropriate data structure for the algorithm. X
4 Knows and can use software development platforms. X
5 Gains the ability to work independently and take responsibility. X
6 Gains the ability to learn and manage learning. X
7 Knows at least one of the web programming languages. X
8 Knows and uses web programming software development platforms. X
9 Can define a new computer problem by himself/herself. X
10 Knows and uses the hardware components of the computer. X
11 Knows the basic elements of computers and microprocessors and makes component selection X
12 Determines the necessary skills for solving problems and develops methods. X
13 Proposes innovative solutions according to the current state of basic sciences and technology. X