PROGRAMI
DERS TANITIM VE UYGULAMA BİLGİLERİ

Ders AdıKoduVerildiği YılVerildiği YarıyılSüresi (T+U)Yerel KredisiAKTS Kredisi
Veri YapılarıSENG 201213 + 246,00
 
Ders Bilgileri
Dersin Öğretim Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüZorunlu
Dersin Veriliş BiçimiYü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 DerslerSENG 102
Daha Önce Alınmış Olması Önerilen DerslerYok
 
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ı):
 
HaftaKonu
1Veri Yapılarına Giriş, Veri Yapıları ve Algoritmalar, Oyunlarda ve Simülasyonlarda Veri Yapıları
2Diziler: Diziler Olarak Bilinen Veri Yapıları
3Bağlantılı Yapılar (Tekli, Çift, Dairesel), Bağlantılı listelerin uygulamaları
4Yığınlar ve Kuyruklar (dizi uygulaması ve Bağlantılı liste uygulaması)
5Stack ve Queue uygulamaları, Infix, postfix, prefix ifadeleri ve dönüştürme algoritmaları.
6Özyineleme Özyinelemenin Temelleri
7Sıralama ve Arama Sıralama Kavramları, İkili arama
8Doğ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ü
11Grafikler: Grafiklere Giriş, Grafiklerle Arama, Topolojik Sıralama, Ağırlıklı Grafikler
12Sahne Yönetimine Giriş, Oyun Matematiği, Sahne Grafikleri
13İkili Alan Bölme Ağaçları Dörtlü Ağaçlar ve Octrees
14Veri 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öntemAdetKatkı (%)
Ara sınav1%25
Ödev3%15
Final Sınavı1%30
Test4%10
Laboratuvar14%20
 
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu?
Gerektirmiyor