Ders Adı | Kodu | Verildiği Yıl | Verildiği Yarıyıl | Süresi (T+U) | Yerel Kredisi | AKTS Kredisi |
Veri Yapıları | SENG 201 | 2 | 1 | 3 + 2 | 4 | 6,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. Mühendislik problemlerini çözmek için nesne yönelimli programlamayı modern bir araç olarak formüle edin ve uygulama |
2. Temel veri yapılarını (dizi tabanlı liste, bağlantılı liste, yığın, kuyruk, ikili arama ağacı gibi) ve algoritmaları anladığını ve tasarladığını gösterin. |
3. Oyun ve mühendislik problemlerini çözmek ve çözümlerini değerlendirmek için veri yapılarını ve algoritmaları analiz etme, tasarlama, uygulama ve kullanma becerisini göstermek. |
4. Algoritmaların analizini anladığını gösterin. Yinelemeli yapılar içeren bir algoritma veya program kodu segmentini inceleyin ve algoritma veya kod segmentinin asimptotik zaman karmaşıklığını analiz edin. |
|
Dersin Önkoşulları ve Birlikte Alınması Gereken Dersler | SENG 102 |
Daha Önce Alınmış Olması Önerilen Dersler | Yok |
|
Dersin Tanımı:
Ders, verilerin organizasyonunu ve problemleri sıralamak, aramak ve çözmek için kullanılan algoritmaları kapsar. Öğrenciler, oyun geliştirme bağlamında temel veri yapılarının ve algoritmaların işleyişini ve uygulanmasını öğreneceklerdir. Bu derste işlenen konular arasında karmaşıklık, matrisler, bağlantılı yapılar, soyutlama, analiz, vektörler, listeler, yığınlar, kuyruklar, ağaçlar, yığınlar ve grafikler ve grafikler yer alır. |
|
Dersin İçeriği (Haftalık Konu Dağılımı): |
|
Hafta | Konu |
1 | Veri Yapılarına Giriş, Veri Yapıları ve Algoritmalar, Oyunlarda ve Simülasyonlarda Veri Yapıları |
2 | Diziler: Diziler Olarak Bilinen Veri Yapıları |
3 | Bağlantılı Yapılar (Tekli, Çift, Dairesel), Bağlantılı listelerin uygulamaları |
4 | Yığınlar ve Kuyruklar (dizi uygulaması ve Bağlantılı liste uygulaması) |
5 | Stack ve Queue uygulamaları, Infix, postfix, prefix ifadeleri ve dönüştürme algoritmaları. |
6 | Özyineleme Özyinelemenin Temelleri |
7 | Sıralama ve Arama Sıralama Kavramları, İkili arama |
8 | Doğrusal Olmayan Listeler: Temel Ağaç Kavramları, Terminoloji, Ağaç Geçişleri, İkili Ağaçlar ve Uygulamaları İkili Arama Ağaçları |
9 | İkili Arama Ağaçlarında Ekleme, Silme, Arama ve Geçiş Algoritmaları |
10 | Öncelik Sırası, Yığın Özet Veri Türü |
11 | Grafikler: Grafiklere Giriş, Grafiklerle Arama, Topolojik Sıralama, Ağırlıklı Grafikler |
12 | Sahne Yönetimine Giriş, Oyun Matematiği, Sahne Grafikleri |
13 | İkili Alan Bölme Ağaçları Dörtlü Ağaçlar ve Octrees |
14 | Veri Sıkıştırma: Veri Sıkıştırmaya Giriş, Doku Sıkıştırmaya Giriş |
|
Kaynaklar: |
Allen Sherrod Data Structures and Algorithms for Game Developers (Game Development Series) Charles River Media 2007 ISBN-10: 9781584504955
Michael T. Goodrich, Roberto Tamassia , Michael H. Goldwasser Data Structures and Algorithms in Java 6th Edition Wiley; 6 edition (January 28, 2014) 2014 ISBN-10: 1118771338
Timothy M. Henry,Frank M. Carrano Data Structures and Abstractions with Java Pearson; 4 edition 2015 ISBN-10: 1292077182
|
|
Diğer Kaynaklar: |
Ron Penton Data Structures for Game Programmers Muska & Lipman/Premier 2002 ISBN-10: 1931841942
Michael Dawson Beginning C++ Through Game Programming Cengage Learning PTR; 4 edition 2014 ISBN-10: 1305109910
|
|
Öğretim Yöntem ve Teknikleri: |
Bu kurs, öğrenciler arasında öğrenmeyi geliştirmek için geleneksel anlatımı uygulamalı etkinliklerle birleştirecektir.
Öğrencilerden düzenli olarak derslere katılmaları ve laboratuvarlardan sınavlara girmeleri, ödevleri ve diğer görevleri teslim etmeleri beklenir. Haftada iki saat laboratuvar çalışması. Toplam 14 hafta. Bilgisayar laboratuvarlarında yürütülen laboratuvar çalışmaları |
|
Değerlendirme Sistemi: |
Yöntem | Adet | Katkı (%) |
Ara sınav | 1 | %25 |
Ödev | 3 | %15 |
Final Sınavı | 1 | %30 |
Test | 4 | %10 |
Laboratuvar | 14 | %20 |
|
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu? |
Gerektirmiyor |