TR EN

ALGORİTMALAR VE VERİ YAPILARI DERS TANITIM VE UYGULAMA BİLGİLERİ

Kodu Dersin Adı Yarıyıl Süresi(T+U) Kredisi AKTS Kredisi
BST205 ALGORİTMALAR VE VERİ YAPILARI 3 3 3 6

DERS BİLGİLERİ

Dersin Öğretim Dili : Türkçe
Dersin Düzeyi LİSANS, TYY: + 6.Düzey, EQF-LLL: 6.Düzey, QF-EHEA: 1.Düzey
Dersin Türü Zorunlu
Dersin Veriliş Şekli -
Dersin Koordinatörü Dr.Öğr.Üyesi BANU KAYINOVA
Dersi Veren Öğretim Üyesi/Öğretim Görevlisi
Ders Ön Koşulu Yok

AMAÇ VE İÇERİK

Amaç: Bu dersin amacı, bilgisayar bilimlerinin temelini oluşturan verilerin bilgisayar ortamında verimli bir şekilde saklanması, düzenlenmesi ve işlenmesi için gerekli olan mantıksal yapıları ve algoritma tasarım prensiplerini öğretmektir. Öğrencilerin, bir problemi çözmek için en uygun veri yapısını (dizi, bağlı liste, yığın, kuyruk, ağaç vb.) seçebilme ve bu yapılar üzerinde çalışan algoritmaların performansını (zaman ve alan karmaşıklığı) analiz edebilme becerisini kazanmaları hedeflenmektedir.
İçerik: Algoritmalar ve veri yapıları dersinin içeriği, algoritma kavramı ve akış diyagramlarından başlayarak, karmaşıklık analizi (Big O notasyonu) ile verimlilik ölçümleme tekniklerini kapsamaktadır. Temel veri yapıları olan diziler, dinamik bellek yönetimi ve bağlı listelerin yanı sıra, doğrusal veri yapıları olan yığın (stack) ve kuyruk (queue) mekanizmalarının çalışma felsefesi ele alınmaktadır. Ayrıca ders boyunca; hiyerarşik veri yapıları olan ağaçlar, veriye hızlı erişim sağlayan hash tabloları, grafik (graph) teorisinin temelleri ve bilgisayar bilimlerinde sıkça kullanılan sıralama (sorting) ile arama (searching) algoritmaları teorik düzeyde incelenmektedir.

DERSİN ÖĞRENME ÇIKTILARI (Öğrenciler, bu dersi başarı ile tamamladıklarında aşağıda belirtilen bilgi, beceri ve/veya yetkinlikleri gösterirler.)

Algoritma kavramını açıklar ve karmaşık problemleri adım adım çözüm yollarına bölebilir.
Yazılan bir algoritmanın zaman ve alan karmaşıklığını "Big O" notasyonu kullanarak analiz eder.
Farklı veri yapılarının (dizi, bağlı liste, yığın) avantaj ve dezavantajlarını karşılaştırarak probleme uygun olanı seçer.
Özyinelemeli (recursive) ve yinelemeli (iterative) yaklaşım farklarını kavrayarak uygun yerlerde kullanır.
Temel sıralama (Quick, Merge, Bubble vb.) ve arama algoritmalarının mantığını ve performans farklarını açıklar.
Hiyerarşik ve ilişkisel verileri temsil etmek için ağaç (tree) ve grafik (graph) yapılarını kullanma becerisi edinir.
Veri güvenliği ve verimliliği için hashing ve indeksleme mekanizmalarının önemini kavrar.

HAFTALIK DERS KONULARI VE ÖNGÖRÜLEN HAZIRLIK ÇALIŞMALARI

Hafta Ön Hazırlık Konular Yöntem
1 - Algoritma Kavramı, Akış Diyagramları ve Programlamaya Giriş Anlatım, Soru–Cevap
2 Kitap-Ders Notu Okuma Algoritma Analizi: Zaman ve Alan Karmaşıklığı (Big O Notasyonu) Anlatım, Beyin Fırtınası
3 Kitap-Ders Notu Okuma Temel Veri Yapıları: Statik ve Dinamik Diziler Anlatım, Gösteri
4 Kitap-Ders Notu Okuma Bağlı Listeler (Linked Lists): Tekli ve Çiftli Bağlı Liste Mantığı Anlatım, Bireysel Çalışma
5 Kitap-Ders Notu Okuma Yığın (Stack) Yapısı ve LIFO Prensibi Anlatım, Soru–Cevap
6 Kitap-Ders Notu Okuma Kuyruk (Queue) Yapısı ve FIFO Prensibi Anlatım, Örnek Olay
7 Kitap-Ders Notu Okuma Özyineleme (Recursion) Kavramı ve Uygulama Alanları Anlatım, Tartışma
8 Kitap-Ders Notu Okuma Arama Algoritmaları: Doğrusal (Linear) ve İkili (Binary) Arama Anlatım, Tekrar
9 Kitap-Ders Notu Okuma Temel Sıralama Algoritmaları: Selection, Insertion ve Bubble Sort Anlatım, Karşılaştırma
10 - ARA SINAV -
11 Kitap-Ders Notu Okuma Gelişmiş Sıralama Algoritmaları: Merge Sort ve Quick Sort Anlatım, Gösteri
12 Kitap-Ders Notu Okuma Ağaç (Tree) Yapıları: İkili Arama Ağaçları (BST) ve Gezinme Yöntemleri Anlatım, Analiz
13 Kitap-Ders Notu Okuma Karma Tablolar (Hash Tables): Çakışma (Collision) ve Çözüm Yolları Anlatım, Araştırma
14 Kitap-Ders Notu Okuma Grafik (Graph) Teorisine Giriş: Temel Kavramlar ve Gösterimler Anlatım, Video İzleme
15 Kitap-Ders Notu Okuma Genel Tekrar ve Karmaşıklık Analizi Örnekleri Soru–Cevap, Tekrar
16 - FİNAL -
17 - FİNAL -

KAYNAKLAR

Çobanoğlu, B. (2020). Algoritma Geliştirme ve Veri Yapıları. İstanbul: Pusula Yayıncılık.
Vatansever, F. (2025). Algoritma Geliştirme ve Programlamaya Giriş (16. baskı). Bursa: Aktüel Yayınları.
Öğretim elemanı tarafından sağlanacak ders notları.

ÖLÇME VE DEĞERLENDİRME

Yarıyıl İçi Yapılan Çalışmaların Ölçme ve Değerlendirmesi Etkinlik Sayısı Katkı Yüzdesi Açıklama Sınav Yapılma Şekli
(0) Etkisiz (1) En Düşük (2) Düşük (3) Orta (4) İyi (5) Çok İyi
0 1 2 3 4 5

DERSİN PROGRAM ÖĞRENME ÇIKTILARINA KATKISI

BİLGİ
Kuramsal
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Bilişim sistemleri, yazılım geliştirme, programlama ve web teknolojilerinin temel kavramlarını, kuramlarını ve yaklaşımlarını yorumlar.
5
2
Veri bilimi, yapay zekâ, bulut bilişim ve siber güvenlik dâhil olmak üzere bilişim sistemleri yönetimi ve proje süreçlerinin kuramsal temellerini analiz eder.
4
BİLGİ
Olgusal
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Yazılım geliştirme, veri bilimi, ağ teknolojileri, web uygulamaları ve donanım–yazılım etkileşimi gibi bilişim alanlarının temel kavramlarını ve olgularını açıklar.
5
2
Kurumsal bilgi sistemleri, bulut bilişim, yapay zekâ, siber güvenlik ve proje yönetimi alanlarındaki temel kuram ve yaklaşımları tanımlar.
4
BECERİLER
Bilişsel
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Bilişim teknolojileri, yazılım geliştirme ve veri yapıları alanlarında edindiği bilgileri kullanarak karmaşık problemleri analiz eder ve uygun çözüm yöntemlerini belirler.
5
2
Bulut bilişim, yapay zekâ, siber güvenlik ve proje yönetimi konularındaki verileri eleştirel bir bakış açısıyla değerlendirerek bilişim sistemlerinin stratejik planlamasına yönelik çıkarımlar yapar.
5
BECERİLER
Uygulamalı
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Programlama dilleri, veri tabanı yönetimi, algoritmalar ve web teknolojilerini kullanarak işlevsel yazılım ve web uygulamaları geliştirir.
5
2
Bulut bilişim, kurumsal bilgi sistemleri ve proje yönetimi araçlarını kullanarak bilişim projelerini planlar, uygular ve sonuçlarını değerlendirir.
5
YETKİNLİKLER
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Bilişim projelerini bağımsız olarak planlar, yürütür ve tamamlar; süreçte ortaya çıkan teknik ve yönetimsel sorumlulukları üstlenir.
5
2
Yazılım geliştirme ve bilgi sistemleri projelerinde ekip içinde etkin rol alır, gerektiğinde liderlik yaparak proje hedeflerine ulaşılmasını sağlar.
5
YETKİNLİKLER
Öğrenme Yetkinliği
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Bilişim teknolojilerindeki yenilikleri ve yazılım geliştirme trendlerini sürekli izler, mesleki bilgi ve becerilerini güncel tutar.
5
2
Kendi öğrenme süreçlerini değerlendirir, eksikliklerini belirler ve kişisel gelişimi için bağımsız olarak yeni öğrenme fırsatları oluşturur.
5
YETKİNLİKLER
İletişim ve Sosyal Yetkinlik
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Teknik ve teknik olmayan paydaşlara bilişim projelerini açık, anlaşılır ve ikna edici bir şekilde sunar; yazılı ve sözlü iletişim kanallarını etkin kullanır.
4
2
Farklı disiplinlerden ve kültürel arka planlardan gelen ekiplerle iş birliği yaparak bilişim projelerinde etkili katkı sağlar.
5
YETKİNLİKLER
Alana Özgü Yetkinlik
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Bilişim sistemleri, yazılım geliştirme ve veri yönetimi süreçlerinde mesleki etik ilkelere ve uluslararası standartlara uygun davranır.
5
2
Bilişim sistemleri ve teknolojileri alanında güncel araç, yöntem ve yaklaşımları kullanarak çözüm üretir ve yenilikçi projeler geliştirir.
5

DERSİN İŞ YÜKÜ VE AKTS KREDİSİ

Öğrenme-Öğretme Etkinlikleri İş Yükü
Öğrenme-Öğretme Etkinlikleri Etkinlik(hafta sayısı) Süresi(saat sayısı) Toplam İş Yükü
Ders 14 3 42
Derse Ön Hazırlık ve Ders Sonrası Pekiştirme 14 2 28
Arazi Çalışması 0 0 0
Grup Çalışması / Ödevi 0 0 0
Laboratuvar 0 0 0
Okuma 12 3 36
Ödev 4 1 4
Proje Hazırlama 0 0 0
Seminer 0 0 0
Staj 0 0 0
Teknik Gezi 0 0 0
Web Tab. Öğrenme 0 0 0
Uygulama 0 0 0
Yerinde Uygulama 0 0 0
Mesleki Faaliyet 0 0 0
Sosyal Faaliyet 0 0 0
Tez Hazırlama 0 0 0
Alan Çalışması 0 0 0
Rapor Yazma 0 0 0
Final Sınavı 1 1 1
Final Sınavı Hazırlığı 6 3 18
Ara Sınav 1 1 1
Ara Sınav Hazırlığı 6 3 18
Kısa Sınav 0 0 0
Kısa Sınav Hazırlığı 0 0 0
TOPLAM 58 0 148
Genel Toplam 148
Toplam İş Yükü / 25.5 5,8
Dersin AKTS(ECTS) Kredisi 6,0