| Yüksekokul/Myo/Fakülte/Enstitü |
Sanat, Tasarım ve Mimarlık Fakültesi |
| Ders Kodu |
DGD 438 |
| Ders Adı İngilizce |
Advanced Programming |
| Ders Adı Türkçe |
İleri Programlama |
| Öğretim Dili |
EN |
| Ders Türü |
Ders |
| Dersin Düzeyi |
İleri |
| Dönem |
Bahar |
| Haftalık İletişim Saatleri |
| Ders: 4 |
Okuma: |
Laboratuvar : |
Diğer: |
|
| Tahmini Öğrenci İş Yükü |
Dönem boyunca 125 saat |
| Ders Kredileri |
5 AKTS |
| Değerlendirme |
Standart Harf Notu
|
| Ön Koşul |
Yok |
| Yan Koşul |
Yok |
| Beklenen Ön Bilgi |
Unity ve/veya Unreal Engine hakkında orta düzeyde bilgi ve C# veya C++ konusunda yeterlilik |
| Kayıt Kısıtlamaları |
Yok |
| Genel Eğitim Hedefi |
Bu dersin amacı, öğrencileri gelişmiş programlama teknikleri ve problem çözme stratejileriyle donatarak profesyonel oyun geliştirme sektörünün teknik gerekliliklerine hazırlamaktır. Öğrenciler, modern oyun motorları kullanarak performans odaklı sistemleri kurmayı, optimize etmeyi ve yönetmeyi öğrenecek ve platforma hazır oyun yapıları üreteceklerdir. Bu ders, hem mimari anlayışı hem de gerçek zamanlı etkileşimli ortamlarda pratik yetkinliği derinleştirmeyi amaçlamaktadır. |
| Ders Açıklaması |
Bu kurs, profesyonel oyun geliştirme iş akışlarına girmeyi hedefleyen öğrenciler için tasarlanmış, ileri düzey, uygulamalı bir programlama eğitimi sunmaktadır. Öğrenciler, modern oyun motorları (Unity, Unreal) ve programlama dilleri (C#, C++) kullanarak konsol, PC ve çevrimiçi oyunlar için arka uç sistemleri oluşturma ve optimize etme konusunda teknik uzmanlık kazanacaklardır. Konular arasında sistem mimarisi, bellek yönetimi, ağ senkronizasyonu, fizik simülasyonu, modüler ve bileşen tabanlı sistemler ve gölgelendirici programlama yer almaktadır. Kursun sonunda öğrenciler, gelişmiş sistemleri ve gerçek dünya yayıncılık stratejilerini entegre eden, oynanabilir, çok platformlu bir oyun prototipi sunacaklardır. |
Ders Öğrenme Çıktıları ve Yeterlilikler
Bu dersi başarıyla tamamlayabilen öğrenciler:
1) Modern oyun motorlarının mimarisini ve modüler sistemlerini anlayın.
2) Modüler ve bileşen tabanlı mimarileri uygulama becerisini kazanma
3) Gelişmiş programlama kalıplarını kullanarak performans açısından kritik sistemler geliştirme becerisini kazanma.
4) İstemci-sunucu mimarisi ve çoğaltmayı kullanarak çok oyunculu sistemler oluşturun ve hata ayıkla becerisini edinme.
5) Dağıtım ve hata ayıklama için endüstri standartlarını karşılayan oynanabilir bir prototip sunabilme becerisini edinme.
6) Gerçek zamanlı ortamlarda karmaşık sorunları çözmek için sistem düzeyinde düşünmeyi uygulama yetkinliğini kazanma.
7) Hızla gelişen bir geliştirme ortamında yeni araçlara ve dillere uyum sağlama yetkinliğini kazanma.
|
| Program Öğrenme Çıktıları/Ders Öğrenme Çıktıları |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
| 1) Ekonomi konusunda geniş bir anlayışa sahip olup, diğer sosyal bilimler ve matematikle derin bir etkileşime sahip olmak. |
|
|
|
|
|
|
|
| 2) Farklı ekonomi alanlarının etkileşimlerini anlama konusunda bilgi ve beceriler sergilemek |
|
|
|
|
|
|
|
| 3) Mikroekonomik ve makroekonomik teoriyi anlamak |
|
|
|
|
|
|
|
| 4) Ekonomik kavramları karmaşık sorunları çözmek ve karar verme yeteneğini geliştirmek için uygulamak. |
|
|
|
|
|
|
|
| 5) Farklı ekonomik sistemleri analiz etmek için nicel teknikler kullanmak. |
|
|
|
|
|
|
|
| 6) Teorik bilgileri, Türk ve küresel ekonomilere ilişkin sorunları analiz etmek için uygulamak. |
|
|
|
|
|
|
|
| 7) Ekonomik verileri işlemek ve değerlendirmek için istatistiksel araçlar ve yaygın yazılım programları konusunda yetkinlik göstermek. |
|
|
|
|
|
|
|
| 8) Ekonomik analizin tüm aşamalarında - veri toplama, yorumlama ve bulguları yayma - bilimsel ve etik değerlere göre davranmak. |
|
|
|
|
|
|
|
| 9) Bilimsel bilgileri alışverişinde yazılı ve sözlü İngilizceyi etkili bir şekilde kullanmak (en az CEFR B2 seviyesinde). |
|
|
|
|
|
|
|
| 10) Bireysel ve profesyonel etik davranış sergiler ve sosyal sorumluluk taşımak. |
|
|
|
|
|
|
|
| 11) Yüksek derecede özerklikle daha ileri çalışmalar için gerekli öğrenme becerilerini sergilemek. |
|
|
|
|
|
|
|
Program Sonuçları ve Yeterliliklerle İlişkisi
| N Yok |
S Destekleyici |
H Çok İlgili |
| |
|
|
| |
Program Çıktıları ve Yeterlilikler |
Düzey |
Değerlendirme |
| 1) |
Ekonomi konusunda geniş bir anlayışa sahip olup, diğer sosyal bilimler ve matematikle derin bir etkileşime sahip olmak. |
N |
|
| 2) |
Farklı ekonomi alanlarının etkileşimlerini anlama konusunda bilgi ve beceriler sergilemek |
N |
|
| 3) |
Mikroekonomik ve makroekonomik teoriyi anlamak |
N |
|
| 4) |
Ekonomik kavramları karmaşık sorunları çözmek ve karar verme yeteneğini geliştirmek için uygulamak. |
N |
|
| 5) |
Farklı ekonomik sistemleri analiz etmek için nicel teknikler kullanmak. |
N |
|
| 6) |
Teorik bilgileri, Türk ve küresel ekonomilere ilişkin sorunları analiz etmek için uygulamak. |
N |
|
| 7) |
Ekonomik verileri işlemek ve değerlendirmek için istatistiksel araçlar ve yaygın yazılım programları konusunda yetkinlik göstermek. |
N |
|
| 8) |
Ekonomik analizin tüm aşamalarında - veri toplama, yorumlama ve bulguları yayma - bilimsel ve etik değerlere göre davranmak. |
H |
|
| 9) |
Bilimsel bilgileri alışverişinde yazılı ve sözlü İngilizceyi etkili bir şekilde kullanmak (en az CEFR B2 seviyesinde). |
H |
|
| 10) |
Bireysel ve profesyonel etik davranış sergiler ve sosyal sorumluluk taşımak. |
H |
|
| 11) |
Yüksek derecede özerklikle daha ileri çalışmalar için gerekli öğrenme becerilerini sergilemek. |
H |
|
| Hazırlayan ve Tarih |
EMİRHAN COŞKUN , July 2025 |
| Ders Koordinatörü |
EMİRHAN COŞKUN |
| Dönem |
Bahar |
| Dersi Veren(ler) |
|
Ders İçeriği
| Hafta |
Konu |
| 1) |
Gelişmiş Oyun Programlama ve Oyun Motoru Mimarisine Giriş |
| 2) |
Oyun Kodunda Nesne Yönelimli Tasarım ve Veri Yapıları |
| 3) |
Oyun Döngüsü ve Durum Yönetimi |
| 4) |
Fizik Simülasyonu: Çarpışma Yönetimi ve Kuvvet Uygulaması |
| 5) |
Fizik Motorlarının Entegrasyonu (PhysX, Unity/Unreal Physics) |
| 6) |
Animasyon Sistemleri: Blend Ağaçları, IK ve Zamanlama |
| 7) |
Vize Sunumu: Özellik Tamamlanmış Sistemlere Genel Bakış |
| 8) |
Yapay Zeka ve NPC Kontrolü: FSM'ler, Yol Bulma ve Davranış Ağaçları |
| 9) |
Oyunlar için Ağ Oluşturma: Senkronizasyon, Gecikme, İstemci-Sunucu Mimarisi |
| 10) |
Kaynak Yönetimi ve Varlık Akışı |
| 11) |
Gölgelendirici Programlama ve Grafik İşlem Hattı |
| 12) |
Platforma Özgü Yapım Stratejileri ve Hata Ayıklama Araçları |
| 13) |
Final Projesi Prodüksiyonu |
| 14) |
Final Projesi Sunumu ve Platformlar Arası Demo |
| Gerekli/Tavsiye Edilen Okumalar | Gregory, J. (2021). Game Engine Architecture.
Millington, I. & Funge, J. (2016). Artificial Intelligence for Games.
Unity/Unreal documentation and shader programming guides.
Gamasutra blog posts and GameDev StackExchange for engine-level programming cases.
Multiplayer tutorials and networking SDKs (Photon, Mirror, Epic Online Services).
|
| Öğretme Teknikleri | Dersler ve kod incelemeleri.
Modüler sistemler, bellek ve performansa odaklanan teknik ödevler.
Canlı hata ayıklama ve optimizasyon oturumları.
Ekip tabanlı özellik uygulama atölyeleri.
Akran kod incelemesi ve iş birliğine dayalı entegrasyon.
Aşamalı gönderimler ve sürüm kontrolü ile proje tabanlı öğrenme. |
| Ödev ve Projeler | * Game Loop Reconstruction - Deconstruct and rebuild a simplified custom game loop using C++ or C#.
* Physics Engine Integration - Integrate a basic physics simulation (rigid body dynamics) using Unity/Unreal
* AI State Machine Implementation - Create a Finite-State Machine (FSM) for an NPC character |
| Laboratuvar Çalışması | |
| Bilgisayar Kullanımı | |
| Diğer Aktiviteler | Seminer ve çalıştaylar |
| Değerlendirme Yöntemleri |
| Değerlendirme Araçları |
Sayı |
Ağırlık |
| Ödev |
1 |
% 20 |
| Ara Sınavlar |
1 |
% 30 |
| Rapor Teslimi |
1 |
% 10 |
| Final |
1 |
% 40 |
| TOPLAM |
% 100 |
|
| Ders Yönetimi |
coskunemi@mef.edu.tr
coskunemi@mef.edu.tr
coskunemi@mef.edu.tr Ofis: Block A, Emirhan Coşkun 541 Stüdyo derslerinin tüm planlı ders saati boyunca devamlılık ve katılım zorunludur. Öğrencilerin, dersteki çalışmaları sorgulayıp tartışmaya katılmaları beklenmektedir. Tüm öğrenciler, ara ve final stüdyo değerlendirmelerine katılmak zorundadır. Tüm ödevler, belirtilen tarihte ve saatte teslim edilmelidir. Akademik Dürüstlük ve Plagiyatizm: YÖK Disiplin Yönetmeliği. |