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 |
|
|
|
|