Ders Adı | Kodu | Verildiği Yıl | Verildiği Yarıyıl | Süresi (T+U) | Yerel Kredisi | AKTS Kredisi |
Veri Yapıları | CENG 218 | | | 3 + 2 | 4 | 7,00 |
|
Ders Bilgileri |
Dersin Öğretim Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Veriliş Biçimi | Yüz Yüze |
|
Dersin Öğrenme Kazanımları:
Bu dersi başarı ile tamamlayan öğrenciler: |
1. Öğrenci temel algoritmalar ve veri yapıları bilgisine sahip olur |
2. Öğrenci Soyut Veri Yapılarınının tasarımını yapar ve önemini anlar |
3. Öğrenci özyineleme algoritmalarını kullanır |
4. Öğrenci bağlı liste ve ikili ağaçlar gibi bağlı yapılara hakim olur |
5. Yığın ve Sıra gibi veri yapılarına hakimiyet ile bu yapıların problem çözümünde kullanımı |
6. Gelişmiş veri yapılarına aşinalık - Dengeli arama ağaçları, karma tablolar, önem sıraları. Sıralama algoritmalarına aşinalık - Hızlı Sıralama, Birleşme Sıralama ve Yığıt Sıralama |
|
Dersin Önkoşulları ve Birlikte Alınması Gereken Dersler | CENG 114 |
Daha Önce Alınmış Olması Önerilen Dersler | Yok |
|
Dersin Tanımı:
Bu derste Java programlama diliyle soyut veri yapısı tasarlama ve kodlamaya giriş metodları anlatılır. Bazı konu başlıkları bağlı yapılar, yığın, sıra, özyinelemeli algoritmalar, ikili ağaçlar, dengeli ağaçlar ve karma tablolardır. |
|
Üretken Yapay Zeka Kullanımı:
|
|
Dersin İçeriği (Haftalık Konu Dağılımı): |
|
Hafta | Konu |
1 | Java Diline Giriş - Temel Yapılar |
2 | Java Diline Giriş - Sınıf Tasarımı ve G/Ç |
3 | Java Diline Giriş - Kalıtım, Arayüzler ve Java Koleksiyonları |
4 | Algoritma Verimi, Algoritma Analizi |
5 | Koleksıyonlara Giriş - Yığınlar ve Sıralar |
6 | Yığın ve Sıra Uygulamaları, Önek, Sonek, İçek İfadeleri, Dönüşüm Algoritmaları |
7 | Listeler |
8 | Listeler Üzerinde Standard Algoritmalar. |
9 | Bağlı Listeler ve Bağlı Listelerin Uygulamaları |
10 | Sıralama ve Arama, Sıralama Kavramları, İkili Arama |
11 | Özyineleme, Özyinelemenin Temelleri |
12 | Özyinelemeli Programlama |
13 | Ağaçlar |
14 | Önem Sıraları, Yığıt Soyut Veri Yapısı, Huffman Algoritmasi |
|
Kaynaklar: |
John Lewis • Joseph Chase Java Software Structures Designing and Using Data Structures 4rthed. Pearson Education Limited 2014 0-273-79332-2
JOHN LEWIS, WILLIAM LOFTUS Java Software Solutions: Foundations of Program Design, Eighth Edition. Pearson Education Limited 2015 978-0-13-359495-9
|
|
Diğer Kaynaklar: |
Langsam Y., Augenstein M., Tenenbaum A. Data Structures Using C and C++, 2nd edition Prentice Hall 1996 013-529322-7
Richard Gilberg, Behrouz Forouzan Data Structures: A Pseudocode Approach with C, 2nd Edition Cengage Course Technolgy 2006
9780534390808
|
|
Öğretim Yöntem ve Teknikleri: |
Haftada 3 saat ders ve 2 saat laboratuvar. Haftalık yazılı ve programlama ödevleri. |
|
Değerlendirme Sistemi: |
Yöntem | Adet | Katkı (%) |
Ödev | 3 | %15 |
Ara Sınav | 1 | %30 |
Laboratuvar | 14 | %20 |
Final Sınavı | 1 | %35 |
|
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu? |
Gerektirmiyor |
|
Dersin Program Yeterlilikleri vs. Öğrenme Kazanımları:
|
# | Program Yeterlilikleri | Katkı |
1 | Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve ilgili mühendislik disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | 0 |
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. | 0 |
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. | 0 |
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. | 0 |
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. | 0 |
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. | 0 |
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. | 0 |
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. | 0 |
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. | 0 |
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. | 0 |
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. | 0 |