DİJİTAL OYUN TASARIMI | |||||
Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey |
Ders Kodu | Ders Adı | Yarıyıl | Teorik | Pratik | Kredi | AKTS |
CMP3005 | Algoritma Analizi | Bahar | 3 | 0 | 3 | 6 |
Bu katalog bilgi amaçlıdır, dersin açılma durumu, ilgili bölüm tarafından yarıyıl başında belirlenir. |
Öğretim Dili: | İngilizce |
Dersin Türü: | Non-Departmental Elective |
Dersin Seviyesi: | LİSANS |
Dersin Veriliş Şekli: | Yüz yüze |
Dersin Koordinatörü: | Dr. Öğr. Üyesi CEMAL OKAN ŞAKAR |
Dersi Veren(ler): |
Dr. Öğr. Üyesi TEVFİK AYTEKİN Prof. Dr. NAFİZ ARICA Dr. Öğr. Üyesi CEMAL OKAN ŞAKAR |
Opsiyonel Program Bileşenleri: | Yok |
Dersin Amacı: | Bu dersin amacı algoritma analizi için gerekli temel matematiksel araçları, temel algoritma tasarım tekniklerini, gelişmiş veri yapılarını ve farklı alanlardan önemli algoritmaları tanıtmaktır. |
Bu dersi başarıyla tamamlayabilen öğrenciler; I. Bazı önemli veri yapıları ve algoritmalarla tanışmak. II. Algoritma analizinde kullanılan matematiksel araçlarla tanışmak. III. Yinelemeli ve özyinelemeli algoritmaların asimtotik çalışma süresini analiz edebilmek. IV. Algoritmaların en iyi / en kötü / ortalama durum analizlerini yapabilmek. V. Önemli algoritma tasarım paradigmaları ile tanışmak. VI. Belirli bir uygulama için olası veri yapıları ve algoritmalar arasından hangisinin en uygun oldugunu karar verebilmek. VII. Etkin ve etkin olmayan algoritmaları ayırt edebilmek. VIII. Öğrenilen teknikleri kullanarak yeni problemler için etkin algoritmalar geliştirebilmek ve bu çözümleri disiplin için bir ekip projesi kapsamında uygulamak ve raporlarmak. |
Giriş, asimtotik gösterim, algoritmaların ampirik analizi, algoritma tasarımı, amortize analizi, kaba kuvvet algoritmaları, böl ve yönet algoritmaları, dönüştür ve yönet algoritmaları, uzay ve zaman dengelemeleri, dinamik programlama, açgözlü algoritmalar, ileri veri yapıları, B ağaçları , B-ağaçlarından Ekleme ve Silme, graflar ve graf algoritmaları, P ve NP problemler. |
Hafta | Konu | Ön Hazırlık |
1) | Giriş, asimtotik gösterimler | |
2) | Deneysel algoritma analizi, algoritma analizi, amortize analiz | |
3) | Özyineli ilişkiler, yerine koyma yöntemi, özyineli-ağaç yöntemi, master yöntemi. | |
4) | Kaba Kuvvet Algoritmaları | |
5) | Böl ve Yönet Algoritmaları | |
6) | Birleştirerek sıralama, hızlı sıralama, rasgele hızlı sıralama, ikili arama | |
7) | Dönüştür ve Yönet Algoritmaları, Gausss eliminasyonu ile lineer denklem sistemlerinin çözümü, Dengelenmiş Arama Ağaçları, Yığıtlar ve Yığıt sıralama, Horner Kuralı ve İkili Üs | |
8) | Hafıza ve Zaman Karşılaşmaları, Girdi Geliştirme (Sayıma dayalı sıralama, dize eşleme), Önişleme (Doğrama, Doğrama işlevleri, açık adresleme). | |
9) | Ara sınav. | |
10) | Dinamik Programlama: Madeni para problemi, Sırt çantası problemi, En uzun ortak altdizin | |
11) | Dinamik programlama: Sırt çantası problemi, en uzun ortak alt dizi. | |
12) | Açgözlü Algoritmalar: Aktivite seçimi, Huffman kodları, Prim algoritması, Kruskal Algoritması | |
13) | Tek kaynak en kısa yollar: Bellman-Ford algoritması, Dijkstra algoritması. | |
14) | P, NP, ve NP-tam problemler |
Ders Notları / Kitaplar: | Anany Levitin, The Design and Analysis of Algorithms, Pearson International Third Edition. Cormen, T. H., Leiserson, C. E., Rivest, R. L. and Stein, C., Introduction to Algorithms (3rd Edition), MIT Press, 2009. Sanjoy Dasgupta , Christos Papadimitriou, Umesh Vazirani, Algorithms, McGraw-Hill Education. |
Diğer Kaynaklar: | Yok - None |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Küçük Sınavlar | 2 | % 10 |
Projeler | 1 | % 20 |
Ara Sınavlar | 1 | % 30 |
Final | 1 | % 40 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 40 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 60 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | İş Yükü |
Ders Saati | 14 | 42 |
Proje | 7 | 21 |
Küçük Sınavlar | 6 | 12 |
Ara Sınavlar | 5 | 28 |
Final | 5 | 35 |
Toplam İş Yükü | 138 |
Etkisi Yok | 1 En Düşük | 2 Düşük | 3 Orta | 4 Yüksek | 5 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | İletişim alanında oyunun kavramsal olarak önemini anlayıp, oyuncuyu merkeze alan tasarım odaklı uygulama yapabilme yeteneği kazandırmak. | |
2) | Çeşitli perspektiflerden bilgi ve fikirleri analiz ederek, sentezlemek ve değerlendirebilmek. | |
3) | Oyun türlerini, etkileşim ve anlatım biçimlerini oluşturan temel öğeleri analiz edebilme ve başarılı bir oyun oluşturmak için nasıl kullanıldığını anlamak. | |
4) | Oyun tasarımı teorilerini ve metodolojilerini anlamak ve oyun geliştirirken kullanmak; hedef kitleye göre eğlenceli, çekici, içine alan ve öğretici oyunlar yapmak. | |
5) | Oyun geliştirmede kullanılan teknolojileri ve bilişim temellerini anlamak; oyun motorlarının kullanımına hakim olmak. | |
6) | Oyunlarda 2B ve 3B karakterler ile animasyonlarının yaratılması sürecine hakim olmak. | |
7) | Oyuncu deneyimini anlama, ölçme teorileri ile metodolojilerini kavramak ve oyun üretimi sürecinde bu bilgilerden faydalanmak. | |
8) | Oyunların tasarım yoluyla nasıl bir fikri, bir mesajı ve bir duyguyu ilettiğini kavramak oyun üretimi sürecinde bu bilgilerden faydalanmak. | |
9) | Oyun tasarımı ve geliştirme sürecini, gerekli dokümantasyonu yaparak yönetebilmek; bu dokümantasyon ile oyun üretim bandını takip edebilmek. | |
10) | Oyun geliştirme takımlarının yapısını ve çalışma biçimlerini; takım üyelerinin sorumluluklarını ve işbirliği yöntemlerini kavramak ve pratikte uygulayabilmek. | |
11) | Geliştirme dışında bir oyunun yayın sürecini endüstri standartlarında kavrayabilmek ve pratiğe dökebilmek. | |
12) | Bir video oyununu oyunculara, yatırımcılara ve yayıncılara tanıtabilmek; ortaya çıkan oyun fikrinin veya oyunun özelliklerini ve potansiyel ticari kazanımlarını etkin bir şekilde iletebilmek adına pazarlama konusuna hakim olmak. |