DERSİN GENEL BİLGİLERİ |
| Ders Kodu | Ders Adı | Yıl | Yarıyıl | Teorik | Pratik | Kredi | AKTS |
| YZM6204 | Veri Yapıları ve Algoritmalar | 2 | Bahar | 2 | 1 | 3 | 5 |
| Dersin Türü: | Zorunlu |
| Dersin Düzeyi: | Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey |
| Dersin Öğretim Dili: | Turkish |
| Dersin Ön/Yan Koşulu: | Yoktur |
| Dersin Veriliş Şekli: | Yüz yüze |
| Dersin Koordinatörü: | Dr. Öğr. Üyesi SENEM TANBERK |
| Dersin Öğretim Eleman(lar)ı: |
Dr. Öğr. Üyesi SENEM TANBERK |
| Dersin Kategorisi: | Mesleki Alan |
BÖLÜM II: DERSİN TANITIMI |
| Dersin Amacı: | Bu dersin amacı diziler, kayıtlar, karakter dizileri, bağlı listeler, yığıtlar, kuyruklar ve ağaçlar gibi soyut veri yapılarına giriş yapmaktır. Bunların yanında temel hesaplama algoritmalarını (arama ve sıralama) ve soyut veri yapılarını program tasarımındaki hesaplama problemlerini çözmek için uygulama anlatılacaktır. |
| Dersin İçeriği: | Algoritma analizi; dizi yığıtları, kuyruklar, bağlı listeler, ağaçlar, sıralama, hesaba dayalı adresleme ve arama yapıları; algoritma karmaşıklığı ve paralel algoritmalar; dosya örgütleşimi. Bu derste proje odaklı öğrenme yaklaşımı kullanılmaktadır. Bu çerçevede dersin geleneksel yapıdaki içeriği yanında proje odaklı öğrenme bileşeni bulunmaktadır. Proje odaklı öğrenme bileşeni dersin amaçlarına ve öğrenme çıktılarına uygun olarak öğrenciler tarafından bireysel olarak veya proje takımları halinde belirli adımlardan geçilerek ve belirli ara çıktıların ve son çıktıların üretilmesini amaçlayan bir veya daha fazla sayıda projenin öğrenme amaçlı proje yapılmasını içermektedir. Dersin proje odaklı öğrenme bileşeni ağırlıklı olarak proje çıktılarının ve proje çalışmalarının dersi veren öğretim elemanı ve/veya jüri tarafından değerlendirilmektedir. |
| Bilgi (Kuramsal ve/veya olgusal bilgi olarak tanımlanmıştır.) | ||
|
1) Algoritmik sorunları etkin biçimde çözmek için gerekli temel soyut veri türlerini (hash tabloları, ikili arama ağaçları ve çizgeler) bilir ve kullanır. |
||
| Beceriler (Bilişsel ve/veya uygulama becerileri olarak tanımlanmıştır.) | ||
|
1) Belli türlerde bilgiyi göstermek için veri yapılarını (diziler, karakter dizileri, bağlı listeler, yığıtlar, kuyruklar, ve hash tabloları) kullanan programları belirler, yazar ve bu veri yapılarının bellekte nasıl depolandığı bilir |
||
|
2) Algoritmaların zaman ve bellek kullanımı karmaşıklığını belirler |
||
|
3) Etkin arama ve sıralama algoritmalarını kullanarak yaygın programlama sorunlarını çözer |
||
|
4) Algoritma çözümlemesinde kullanılan matematiksel simgeleri bilir ve bu simgeleri temel algoritma analizinde kullanır. |
||
| Yetkinlikler ("Bağımsız Çalışabilme", "Sorumluluk Alabilme", "Öğrenme", "İletişim ve Sosyal" ve "Alana Özgü" yetkinlikler olarak tanımlanmıştır.) | ||
| Hafta | Konu | ||
| Ön Hazırlık | Pekiştirme | ||
| 1) | VERİ YAPILARI | ||
| 2) | VERİ KAVRAMI (PROJELERİN BELİRLENMESİ) | ||
| 3) | VERİ MODELLERİ | ||
| 4) | ALGORİTMİK PROGRAM TASARIMI | ||
| 5) | PROGRAM ÇALIŞMA HIZI VE BELLEK GEREKSİNİMİ | ||
| 6) | BAĞLI LİSTELER | ||
| 7) | YIĞIN VE KUYRUK(PROJELERİN İLK TESLİMİNİN YAPILMASI) | ||
| 8) | ARA SINAV | ||
| 9) | AĞAÇLAR | ||
| 10) | B+ AĞACI, HASH, HEAP | ||
| 11) | SIRALAMA ALGORİTMALARI | ||
| 12) | ÇİZGELER | ||
| 13) | DİZİ EŞLEME (STRING MATCHING) ALGORİTMALAR | ||
| 14) | İLERİ VERİ YAPILARI VE GERÇEKLEŞTİRİMLER | ||
| 15) | PROJE TESLİMİ VE SUNUMU | ||
| Ders Notları / Kitaplar: | Data Structures and Algorithm Analysis in Java (3rd Edition) by Mark Allen Weiss (Nov 28, 2011) |
| Diğer Kaynaklar: | Data Structures and Algorithms in Java (4th edition) Michael T. Goodrich and Roberto Tamassia |
DERS ÖĞRENME ÇIKTILARI - PROGRAM ÖĞRENME ÇIKTILARI İLİŞKİSİ |
| Ders Öğrenme Çıktıları (DÖÇ) | 1 |
2 |
3 |
4 |
5 |
|||||
|---|---|---|---|---|---|---|---|---|---|---|
| Program Öğrenme Çıktıları (PÖÇ) | ||||||||||
| 1) Matematik, fen bilimleri, temel mühendislik ve yazılım mühendisliği disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | ||||||||||
| 2) Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını gözeterek tanımlama, formüle etme ve analiz becerisi. | ||||||||||
| 3) Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi. | ||||||||||
| 4) Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi. | ||||||||||
| 5) Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi. | ||||||||||
| 6) Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları kapsamında, topluma, sağlık ve güvenliğe, ekonomiye, sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. | ||||||||||
| 7) Mühendislik meslek ilkelerine uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık. | ||||||||||
| 8) Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi. | ||||||||||
| 9) Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda sözlü, yazılı etkin iletişim kurma becerisi. | ||||||||||
| 10) Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık. | ||||||||||
| 11) Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi. | ||||||||||
BÖLÜM III: DERSİN PROGRAM ÖĞRENME ÇIKTILARI İLE İLİŞKİSİ |
| Etkisi Yok | 1 En Düşük | 2 Düşük | 3 Orta | 4 Yüksek | 5 En Yüksek |
| Program Öğrenme Çıktıları | Katkı Oranı (1-5) | |
| 1) | Matematik, fen bilimleri, temel mühendislik ve yazılım mühendisliği disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | |
| 2) | Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını gözeterek tanımlama, formüle etme ve analiz becerisi. | |
| 3) | Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi. | |
| 4) | Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi. | |
| 5) | Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi. | |
| 6) | Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları kapsamında, topluma, sağlık ve güvenliğe, ekonomiye, sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. | |
| 7) | Mühendislik meslek ilkelerine uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık. | |
| 8) | Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi. | |
| 9) | Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda sözlü, yazılı etkin iletişim kurma becerisi. | |
| 10) | Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık. | |
| 11) | Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi. |
BÖLÜM IV: DERSİN ÖĞRENME VE ÖĞRETME YÖNTEMLERİ İLE ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİ |
| Ara Sınav | |
| Yarıyıl Sonu Sınavı | |
| Ödev Değerlendirme |
| Ölçme ve Değerlendirme Yöntemleri | Uygulama Sayısı / Yarıyıl | Katkı Oranı |
| Ödev | 2 | % 10.00 |
| Ara Sınavlar | 1 | % 35.00 |
| Yarıyıl Sonu Sınavı | 1 | % 50.00 |
| Derse Aktif Katılım | 1 | % 5.00 |
| Toplam | % 100 | |
| YARIYIL İÇİ ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİNİN BAŞARI NOTUNA KATKI ORANI | % 50 | |
| YARIYIL SONU SINAVININ BAŞARI NOTUNA KATKI ORANI | % 50 | |
| Toplam | % 100 | |
BÖLÜM V: DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |