| Ekonomi | |||||
| Lisans | Programın Süresi: 4 | Kredi Sayısı: 240 | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF: 6. Düzey |
| Yüksekokul/Myo/Fakülte/Enstitü | Sanat, Tasarım ve Mimarlık Fakültesi | ||||||
| Ders Kodu | DGD 435 | ||||||
| Ders Adı İngilizce | Advanced Unity | ||||||
| Ders Adı Türkçe | Advanced Unity | ||||||
| Öğretim Dili | EN | ||||||
| Ders Türü | Ders | ||||||
| Dersin Düzeyi | Seçiniz | ||||||
| Dönem | Güz | ||||||
| Haftalık İletişim Saatleri |
|
||||||
| Tahmini Öğrenci İş Yükü | Dönem boyunca 120 saat | ||||||
| Ders Kredileri | 5 AKTS | ||||||
| Değerlendirme | Standart Harf Notu | ||||||
| Ön Koşul | Yok | ||||||
| Yan Koşul | Yok | ||||||
| Beklenen Ön Bilgi | Dijital Oyun Tasarımı Programlama II (DGD104) dersini başarıyla tamamlamış olmak veya C# ve Unity`de eşdeğer deneyime sahip olmak. | ||||||
| Kayıt Kısıtlamaları | Yok | ||||||
| Genel Eğitim Hedefi | Bu dersin temel amacı, öğrencilerin Unity oyun motorunda ileri seviye teknik bilgi ve üretim odaklı geliştirme becerileri kazanmasını sağlamaktır. Öğrenciler, ölçeklenebilir oyun sistemleri tasarlama, modüler ve sürdürülebilir yazılım mimarileri kurma, performans analizi/optimizasyonu yapma ve profesyonel geliştirme iş akışlarını (sürüm kontrolü, sahne/prefab yönetimi, hata ayıklama ve profiling) etkin biçimde uygulama yetkinliği geliştirir. Ders sonunda öğrenciler, ileri seviye Unity araçlarını ve C# programlama tekniklerini kullanarak oynanabilir ve teknik olarak sağlam bir prototip üretip sunabilecek düzeye gelir. | ||||||
| Ders Açıklaması | Bu ders, Unity oyun motorunda ileri seviye geliştirme pratiği kazandırmayı amaçlar. Öğrenciler; sahne ve prefab yönetimi, Scriptable Objects ile veri odaklı tasarım, olay tabanlı mimari, UI sistemleri, animasyon ve fizik etkileşimleri, kayıt/yükleme (save/load) yapıları ve performans optimizasyonu gibi konuları uygulamalı olarak ele alır. Ders boyunca proje tabanlı çalışmalarla modüler, yeniden kullanılabilir ve sürdürülebilir kod yapıları kurma; hata ayıklama, profil çıkarma (profiling) ve üretim (production) iş akışlarına uyum sağlama becerileri geliştirilir. Dönem sonunda öğrenciler, teknik olarak ölçeklenebilir ve oynanabilir bir Unity prototipini tasarlayıp geliştirerek sunar. |
Ders Öğrenme Çıktıları ve YeterliliklerBu dersi başarıyla tamamlayabilen öğrenciler:1) Unity’nin ileri seviye bileşen tabanlı mimarisini, sahne/prefab yaşam döngüsünü ve ilgili çalışma zamanı sistemlerini açıklar ve uygular. 2) Scriptable Objects ve uygun veri yapılarıyla veri odaklı (data-driven) sistemler tasarlar ve uygular. 3) Girdi, UI, animasyon ve fizik etkileşimlerini entegre ederek oynanabilir etkileşimli mekanikler geliştirir. 4) Olay tabanlı (event-driven) ve modüler yazılım mimarileri kurarak yeniden kullanılabilir, sürdürülebilir kod yazar. 5) Hata ayıklama, loglama ve test yaklaşımlarını kullanarak sorunları teşhis eder ve çözümler üretir. 6) Unity Profiler ve ilgili araçlarla performans darboğazlarını analiz eder; optimizasyon stratejileri uygular. 7) Sürüm kontrolü ve üretim iş akışlarına uygun şekilde, teknik olarak sağlam bir Unity prototipini planlar, geliştirir ve sunar. |
| 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. |
| 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 | İREM AYDINDOĞAN , February 2026 |
| Ders Koordinatörü | İREM AYDINDOĞAN |
| Dönem | Güz |
| Dersi Veren(ler) |
| Hafta | Konu |
| 1) | Dersin tanıtımı, araçlar ve kurulum; Unity proje yapısı, üretim iş akışı ve sürüm kontrolüne giriş. |
| 2) | Unity mimarisi ve yaşam döngüsü: Script execution order, sahne yönetimi, prefab iş akışları. |
| 3) | Veri odaklı tasarım: Scriptable Objects, veri modelleri, Inspector/serialization mantığı. |
| 4) | Olay tabanlı mimari: events/delegates, Observer yaklaşımı, gevşek bağlı sistemler. |
| 5) | Girdi sistemleri ve etkileşim: Input System, kontrol şemaları, etkileşim tasarımı. |
| 6) | UI geliştirme: Canvas, layout, UI navigation, UI ile oyun durumu entegrasyonu. |
| 7) | Animasyon sistemleri: Animator/State Machine, blend tree mantığı, event ile animasyon tetikleme. |
| 8) | Fizik ve hareket: Rigidbody/Colliders, raycast, karakter hareketi, çarpışma yönetimi. |
| 9) | Oyun durumu yönetimi: state machine, sahne geçişleri, checkpoint ve akış tasarımı. |
| 10) | Kaydetme/Yükleme: PlayerPrefs vs dosya tabanlı kayıt, JSON, veri güvenliği ve sürümleme. |
| 11) | Varlık (asset) yönetimi: Addressables, kaynak yükleme, bellek yönetimi ve build stratejileri. |
| 12) | Debugging & Profiling: Unity Profiler, Frame Debugger, performans darboğazlarını bulma. |
| 13) | Optimizasyon ve üretime hazırlık: GC, object pooling, draw calls, platforma göre iyileştirme; final proje polishing. |
| 14) | Final proje sunumları: demo, teknik değerlendirme, retrospektif ve portfolyo çıktısı. |
| Gerekli/Tavsiye Edilen Okumalar | • Unity Documentation - https://docs.unity3d.com/Manual/index.html • Unity Scripting API - https://docs.unity3d.com/ScriptReference/ • Unity Learn (learn.unity.com) - Official tutorials and training paths. • Sharp, J. (2021). Learning C# by Developing Games with Unity 2021. Packt Publishing. • Nystrom, R. (2014). Game Programming Patterns. Genever Benning. • Hocking, J. (2015). Unity in Action: Multiplatform Game Development in C# with Unity 5. Manning. • Martin, R. C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall. | ||||||||||||||||||
| Öğretme Teknikleri | • Ders anlatımı (lecture) ve kavramsal sunumlar. • Sınıf içi demo ve canlı kodlama oturumları. • Uygulamalı atölye/lab çalışmaları (Unity editor içinde pratik). • Proje tabanlı öğrenme: haftalık/iki haftalık milestone’lar ve iteratif geliştirme. • Kod inceleme (code review), eşli programlama ve akran geri bildirimi. • Hata ayıklama (debugging) ve profiling/optimizasyon egzersizleri. • Ara sunumlar, sprint değerlendirmeleri ve yapılandırılmış kritik oturumları. • Bağımsız çalışma, okuma/izleme materyalleri ve rehberli pratik görevleri. | ||||||||||||||||||
| Ödev ve Projeler | • Haftalık/iki haftalık Unity ödevleri (mekanik geliştirme, UI, animasyon/fizik entegrasyonu, veri yönetimi vb.). • Kod kalitesi ve mimari odaklı mini görevler (refactor, modülerleştirme, yeniden kullanılabilir sistem geliştirme). • Ara dönem proje teslimi: oynanabilir bir prototipin “vertical slice” çıktısı ve kısa teknik rapor. • Final proje teslimi: ölçeklenebilir sistemlere sahip, optimize edilmiş ve sunuma hazır Unity prototipi (build + kaynak kod). • Proje sunumları: ara sunum ve final demo; süreç boyunca milestone değerlendirmeleri ve geri bildirim döngüleri. | ||||||||||||||||||
| Laboratuvar Çalışması | Yok | ||||||||||||||||||
| Bilgisayar Kullanımı | Evet | ||||||||||||||||||
| Diğer Aktiviteler | • Seminer ve çalıştaylar. • Konuk konuşmacı oturumları (sektör profesyonelleri / mezunlar). | ||||||||||||||||||
| Değerlendirme Yöntemleri |
|
||||||||||||||||||
| Ders Yönetimi |
coskunemi@mef.edu.tr 541 |
||||||||||||||||||
| AKtivite | Hafta Sayısı | Saat | Hesaplama | ||||
| Yarıyıl Başına Hafta Sayısı | Etkinliğe Hazırlık | Etkinliğin Kendisinde Harcanan | Etkinlik Gereksinimlerini Tamamlama | ||||
| Ders Saati | 14 | 0 | 1 | 14 | |||
| Uygulama | 14 | 0 | 2 | 28 | |||
| Sınıf Dışı Ders Çalışması | 8 | 0 | 6 | 48 | |||
| Sunum / Seminer | 2 | 1 | 1 | 4 | |||
| Proje | 1 | 0 | 20 | 20 | |||
| Ara Sınavlar | 1 | 0 | 3 | 3 | |||
| Final | 1 | 0 | 3 | 3 | |||
| Toplam İş Yükü | 120 | ||||||
| Toplam İş Yükü/25 | 4.8 | ||||||
| AKTS | 5 | ||||||