Ders
COE2233850
VERİ YAPILARI
Bilgisayar Mühendisliği
- TEORİ
- 3
- UYGULAMA
- 2
- KREDİ
- 4
- AKTS
- 8
ÖN KOŞULLAR
ŞUNLARIN ÖN KOŞULU
OKUTULDUĞU PROGRAMLAR
AMAÇ
Bu ders, farklı tip problemlerin çözümünde etkili algoritma tasarımı için, bir bilgisayardaki verinin nasıl organize edilmesi gerektiğini öğretmeyi amaçlamaktadır. İşlenen konular, diziler, listeler, yığıtlar, sıralar, ağaçlar, yığınlar, çizgeler ve arama, sıralama, seçme ve diğer benzeri uygulamalar için bu veri yapılarının kullanımını kapsamaktadır. Ders Python programlama dili üzerinde konuları işleyecektir.
İÇERİK
Bu ders; Veri yapıları ve algoritmalara giriş; Python Programlama Temel Giriş Yapay zeka IDE uzantılarının kurulumu. Karmaşıklık sınıflarını açıklamak için yapay zekanın kullanımı.,Fonksiyonlar, Dizinler ve İşaretleyiciler Yapay zekâ destekli prompt sorguları ile düğüm sınıfları ve temel fonksiyonları oluşturma.,Python'da Dizeler, Yapılar ve Bellek Atama Bu yapıları kullanarak yapay zeka ile gerçek dünya senaryolarını (örneğin, işlemci zamanlaması) simüle etmek,Algoritma analizi ve karmaşıklık gösterimleri Yapay zekâdan, algoritmaları analiz etmesini istemek ve halüsinasyonlar meydana geldiğinde sorunları tespit etmek.,Temel veri yapıları: Bağlı Listeler, Yığınlar ve Kuyruklar Bağlı listeler, yığınlar ve kuyrukları görselleştirmek ve farklılıkları belirlemek için yapay zeka ile çalışma.,Özyineleme ve Arama Yapay zekadan özyinelemeli çağrıları görselleştirmesini ve yığın taşmasını önlemek için temel durumları belirlemesini istemek.,Sıralama Algoritmaları Hızlı sıralama (quicksort) ve birleştirme sıralaması (mergesort) algoritmalarının yapay zeka destekli karşılaştırmalı analizi.,Ağaçlar ve İkili Arama Ağaçları Yapay Zeka Destekli Ekleme, Silme ve Dengeleme Mantığı Uygulaması,Öncelik Kuyrukları ve Yığınlar Yapay Zekayı Kullanarak Mühendislik Optimizasyon Problemlerinde Öncelik Kuyruklarının Uygulanması.,Graf Algoritmaları (BFS/DFS) Komşuluk matrisleri ve komşuluk listeleri için geçiş yolları oluşturmak üzere yapay zeka ile çalışma.,Hash Fonksiyonları ve Çakışma Analizi Yapay zekayı kullanarak hash fonksiyonları önerme, çakışma oranlarını analiz etme, hash haritalar ve ağaçlar kullanarak büyük veri kümelerini analiz etme.,Kodun Yeniden Yapılandırılması ve Optimizasyonu Çalışan ancak verimsiz kodu yapay zekaya gönderip optimize edilmiş alternatifler istemek.,Yapay Zeka Kodunda Hata Ayıklama Hatalı yapay zeka kodunu kasıtlı olarak kullanmak ve öğrencilere bu kodda nasıl hata ayıklayacaklarını öğretmek.; konularını içermektedir.
ÖĞRENME KAZANIMLARI
TR GÜNCELLENMEDİ- 1
Explain basic principles of algorithm analysis.
Öğretim yöntemi: Tartışma Yöntemi, Proje Temelli Öğrenme Modeli, Proje Temelli Öğrenme Modeli, Deneyimle Öğrenme Modeli · Değerlendirme: Klasik Yazılı Sınav
- 2
Apply basic data structures, such as arrays, lists, stacks and queues, to algorithmic design
Öğretim yöntemi: Tartışma Yöntemi, Soru - Cevap Tekniği, Beyin Fırtınası Tekniği, Proje Temelli Öğrenme Modeli, Proje Temelli Öğrenme Modeli, Deneyimle Öğrenme Modeli · Değerlendirme: Klasik Yazılı Sınav, Proje Görevi
- 3
Applys the tree, binary tree, heap, hash tables, and graph data structures in problem solutions
Öğretim yöntemi: Tartışma Yöntemi, Soru - Cevap Tekniği, Proje Temelli Öğrenme Modeli, Deneyimle Öğrenme Modeli · Değerlendirme: Klasik Yazılı Sınav
- 4
Choose the right data type for efficient solution of a problem.
Öğretim yöntemi: Tartışma Yöntemi, Soru - Cevap Tekniği, Beyin Fırtınası Tekniği, Proje Temelli Öğrenme Modeli, Deneyimle Öğrenme Modeli · Değerlendirme: Proje Görevi
- 5
Analyze the accuracy, complexity and efficiency of an algorithmic solution.
Öğretim yöntemi: Soru - Cevap Tekniği, Beyin Fırtınası Tekniği, Proje Temelli Öğrenme Modeli, Proje Temelli Öğrenme Modeli, Deneyimle Öğrenme Modeli · Değerlendirme: Klasik Yazılı Sınav, Proje Görevi
- 6
Use AI tools to generate boilerplate code, explain complex algorithms, and debug code efficiently.
Öğretim yöntemi: Sorgulama Temelli Öğrenme Modeli · Değerlendirme: Ödev
- 7
Evaluate AI-generated code for correctness, efficiency, and security vulnerabilities.
Öğretim yöntemi: Soru - Cevap Tekniği, Bilgisayar Ve İnternet Destekli Öğretim · Değerlendirme: Proje Görevi
HAFTALIK PLAN
- HAFTA 1
Veri yapıları ve algoritmalara giriş; Python Programlama Temel Giriş Yapay zeka IDE uzantılarının kurulumu. Karmaşıklık sınıflarını açıklamak için yapay zekanın kullanımı.
Ön hazırlık: Kitap Bölümü 1, Ders Sunuları 1
- HAFTA 2
Fonksiyonlar, Dizinler ve İşaretleyiciler Yapay zekâ destekli prompt sorguları ile düğüm sınıfları ve temel fonksiyonları oluşturma.
Ön hazırlık: Kitap Bölümü 1 ve 3, Ders Sunuları 2
- HAFTA 3
Python'da Dizeler, Yapılar ve Bellek Atama Bu yapıları kullanarak yapay zeka ile gerçek dünya senaryolarını (örneğin, işlemci zamanlaması) simüle etmek
Ön hazırlık: Kitap Bölümü 4 ve 5, Ders Sunuları 3
- HAFTA 4
Algoritma analizi ve karmaşıklık gösterimleri Yapay zekâdan, algoritmaları analiz etmesini istemek ve halüsinasyonlar meydana geldiğinde sorunları tespit etmek.
Ön hazırlık: Kitap Bölümü 2, Ders Sunuları 4
- HAFTA 5
Temel veri yapıları: Bağlı Listeler, Yığınlar ve Kuyruklar Bağlı listeler, yığınlar ve kuyrukları görselleştirmek ve farklılıkları belirlemek için yapay zeka ile çalışma.
Ön hazırlık: Kitap Bölümü 6, Ders Sunuları 4
- HAFTA 6
Özyineleme ve Arama Yapay zekadan özyinelemeli çağrıları görselleştirmesini ve yığın taşmasını önlemek için temel durumları belirlemesini istemek.
Ön hazırlık: Kitap Bölümü 7, Ders Sunuları 6
- HAFTA 7
Sıralama Algoritmaları Hızlı sıralama (quicksort) ve birleştirme sıralaması (mergesort) algoritmalarının yapay zeka destekli karşılaştırmalı analizi.
Ön hazırlık: Kitap Bölümü 8, Ders Sunuları 7
- HAFTA 8
Ağaçlar ve İkili Arama Ağaçları Yapay Zeka Destekli Ekleme, Silme ve Dengeleme Mantığı Uygulaması
Ön hazırlık: Kitap Bölümü 9,10,11 Ders Sunuları 8
- HAFTA 9
Öncelik Kuyrukları ve Yığınlar Yapay Zekayı Kullanarak Mühendislik Optimizasyon Problemlerinde Öncelik Kuyruklarının Uygulanması.
Ön hazırlık: Kitap Bölümü 12, Ders Sunuları 10
- HAFTA 10
Graf Algoritmaları (BFS/DFS) Komşuluk matrisleri ve komşuluk listeleri için geçiş yolları oluşturmak üzere yapay zeka ile çalışma.
Ön hazırlık: Kitap Bölümü 13, Ders Sunuları 11
- HAFTA 11
Hash Fonksiyonları ve Çakışma Analizi Yapay zekayı kullanarak hash fonksiyonları önerme, çakışma oranlarını analiz etme, hash haritalar ve ağaçlar kullanarak büyük veri kümelerini analiz etme.
Ön hazırlık: Kitap Bölümü 14, 15, Ders Sunuları 13
- HAFTA 12
Kodun Yeniden Yapılandırılması ve Optimizasyonu Çalışan ancak verimsiz kodu yapay zekaya gönderip optimize edilmiş alternatifler istemek.
Ön hazırlık: Kitap Bölümü 16, Ders Sunuları 14
- HAFTA 13
Yapay Zeka Kodunda Hata Ayıklama Hatalı yapay zeka kodunu kasıtlı olarak kullanmak ve öğrencilere bu kodda nasıl hata ayıklayacaklarını öğretmek.
DEĞERLENDİRME
- Ara Sınavın Başarıya Oranı30%
- Genel Sınavın Başarıya Oranı70%
İŞ YÜKÜ
| ETKİNLİK | SAYI | SAAT | TOPLAM |
|---|---|---|---|
| Ders Saati | 14 | 3 | 42 |
| Rehberli Problem Çözme | 14 | 2 | 28 |
| Problem Çözümü / Ödev / Proje / Rapor Tanzimi | 14 | 5 | 70 |
| Okul Dışı Diğer Faaliyetler | 14 | 2 | 28 |
| Proje Sunumu / Seminer | 0 | 0 | 0 |
| Kısa Sınav (QUİZ) ve Hazırlığı | 7 | 1 | 7 |
| Ara Sınav ve Hazırlığı | 1 | 30 | 30 |
| Genel Sınav ve Hazırlığı | 1 | 40 | 40 |
| Performans Görevi, Bakım Planı | 0 | 0 | 0 |
KAYNAKLAR
- Ders Kitabı: Problem Solving with Algorithms and Data Structures using Python By Brad Miller and David Ranum, Luther College
- Yardımcı Kaynaklar: https://runestone.academy/ns/books/published/medipol_datastructures_spring2026/index.html Ders sunum ve notları
ÖĞRETİM ELEMANLARI
- Assist.Prof. Ahmet KAPLANKOORDİNATÖR
- Assist.Prof. Ahmet KAPLAN