DERSİN GENEL BİLGİLERİ |
| Ders Kodu | Ders Adı | Yıl | Yarıyıl | Teorik | Pratik | Kredi | AKTS |
| CME6204 | Data Structures and Algorithms | 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: | İngilizce |
| Dersin Ön/Yan Koşulu: | Yoktur |
| Dersin Veriliş Şekli: | Yüz yüze |
| Dersin Koordinatörü: | Doçent Dr. MUSTAFA CEM KASAPBAŞI |
| Dersin Öğretim Eleman(lar)ı: |
Doçent Dr. MUSTAFA CEM KASAPBAŞI |
| Dersin Kategorisi: | Mesleki Alan |
BÖLÜM II: DERSİN TANITIMI |
| Dersin Amacı: | Bu ders, bilgisayar mühendisliği ve bilgisayar bilimlerinde kullanılan veri yapıları ve algoritmalar hakkında temel bir anlayış sağlar. Öğrenciler, doğruluk, zaman ve alan karmaşıklığı ve pratik problem çözme üzerinde durularak, temel veri yapıları ve algoritmaları tasarlamayı, uygulamayı, analiz etmeyi ve karşılaştırmayı öğreneceklerdir. |
| Dersin İçeriği: | Algoritma Nedir? Asimtotik Algoritma Analizi , Big Oh, Omega, Theta, Temel veri Tipleri, Diziler, İki boyutlu diziler, Soyut Veri tipler, Arama, İkili arama, Bağlı Listeler, Çift bağlı Listeler, Döngüsel bağlı listeler, Yığın yapısı ve yapılan işlemler, Kuyruk, Ağaç yapısı, Sıralama, Sıralama Algoritmaları, Özyineli Algoritmalar |
| Bilgi (Kuramsal ve/veya olgusal bilgi olarak tanımlanmıştır.) | ||
|
1) Kullanılan Veri Yapıları hakkında bilgi sahibi olur. |
||
|
2) Bilgisayar Algoritmaları için daha verimli çalışmasını sağlayacak veri yapılarını seçebilir. |
||
|
3) Seçilen dilde açık, modüler ve iyi belgelenmiş kod yazın. |
||
| Beceriler (Bilişsel ve/veya uygulama becerileri olarak tanımlanmıştır.) | ||
|
1) Algoritmaların asimptotik analizini gerçekleştirebilir. |
||
|
2) Diziler, listeler, yığınlar, kuyruklar, ağaçlar, karma tablolar ve temel grafikler gibi temel veri yapılarını uygular ve 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) | Giriş ve Algoritma Analizi, | ||
| 2) | Temel Veri tipleri ve Diziler | ||
| 3) | Bağlı Listeler | ||
| 4) | Yığın ve Kuyruklar | ||
| 5) | Özyineli Programlama ve Temel Aram | ||
| 6) | Sorting Algorithms I (Simple Sorts) | ||
| 7) | Sıralama Algoritmaları II (VErimli Sıralamalar) | ||
| 8) | Vize Sınavı | ||
| 9) | Trees I: Concepts & Binary Trees | ||
| 10) | Binary Search Trees (BSTs) | ||
| 11) | Hashing & Hash Tables | ||
| 12) | Graphs I: Fundamentals & Representations | ||
| 13) | Graphs II: Traversal Algorithms | ||
| 14) | Project presentation | ||
| Ders Notları / Kitaplar: | Data Structure using C Tanenbaum, Data Structures and Programming Design with C Ansi C |
| Diğer Kaynaklar: | Data Structure using C Tanenbaum, Data Structures and Programming Design with C Ansi C |
DERS ÖĞRENME ÇIKTILARI - PROGRAM ÖĞRENME ÇIKTILARI İLİŞKİSİ |
| Ders Öğrenme Çıktıları (DÖÇ) | 1 |
3 |
4 |
2 |
5 |
|||||
|---|---|---|---|---|---|---|---|---|---|---|
| Program Öğrenme Çıktıları (PÖÇ) | ||||||||||
| 1) Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve bilgisayar 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, bilgisayarla hesaplama ve bilgisayar 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. | 4 |
| 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 |
| 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. | 4 |
| 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. | 5 |
| 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İ |
| Anlatım | |
| Tartışma | |
| Problem Çözme | |
| Laboratuvar | |
| Okuma | |
| Ödev | |
| Proje Hazırlama | |
| Soru Cevap |
| 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 | 5 | % 15.00 |
| Ara Sınavlar | 1 | % 35.00 |
| Yarıyıl Sonu Sınavı | 1 | % 50.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İ |
| ÖĞRENME VE ÖĞRETME ETKİNLİKLERİ İŞ YÜKÜ | |||
| Öğrenme ve Öğretme Etkinlikleri | Etkinlik Sayısı/Yarıyıl | Süresi (saat) | Toplam İş Yükü |
| Ders | 14 | 2 | 28 |
| Laboratuvar | 0 | 0 | 0 |
| Uygulama | 14 | 1 | 14 |
| Derse Özgü Staj | 0 | 0 | 0 |
| Arazi Çalışması | 0 | 0 | 0 |
| Sınıf Dışı Ders Çalışması | 0 | 0 | 0 |
| Sunum / Seminer | 0 | 0 | 0 |
| Proje | 1 | 10 | 10 |
| Ödevler | 5 | 10 | 50 |
| Öğrenme ve Öğretme Etkinlikleri Toplam İş Yükü | - | - | 102 |
| ÖLÇME VE DEĞERLENDİRME ETKİNLİKLERİ İŞ YÜKÜ | |||
| Ölçme ve Değerlendirme Etkinlikleri | Etkinlik Sayısı/Yarıyıl | Süresi (saat) | Toplam İş Yükü |
| Kısa Sınav | 0 | 0 | 0 |
| Ara Sınavlar | 1 | 10 | 10 |
| Yarıyıl Sonu Sınavı | 1 | 10 | 10 |
| Ölçme ve Değerlendirme Etkinlikleri Toplam İş Yükü | - | - | 20 |
| TOPLAM İŞ YÜKÜ (Öğrenme ve Öğretme + Ölçme ve Değerlendirme Etkinlikleri) | 122 | ||
| DERSİN AKTS KREDİSİ (Toplam İş Yükü/25.5 Saat) | 5 | ||