İçeriğe geç

Ders

BME2233850

VERİ YAPILARI

Biyomedikal Mühendisliği

TEORİ
3
UYGULAMA
2
KREDİ
4
AKTS
8
DİLEnglishDÜZEYFirst Cycle (Bachelor's Degree)TÜRElective

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

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

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

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

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

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

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

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

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

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

  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

  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

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

  13. 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İKSAYISAATTOPLAM
Ders Saati14342
Rehberli Problem Çözme14228
Problem Çözümü / Ödev / Proje / Rapor Tanzimi14570
Okul Dışı Diğer Faaliyetler14228
Proje Sunumu / Seminer000
Kısa Sınav (QUİZ) ve Hazırlığı717
Ara Sınav ve Hazırlığı13030
Genel Sınav ve Hazırlığı14040
Performans Görevi, Bakım Planı000

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