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 |
GAD1003 | Programlama Temelleri | Güz | 2 | 2 | 3 | 5 |
Öğretim Dili: | İngilizce |
Dersin Türü: | Must Course |
Dersin Seviyesi: | LİSANS |
Dersin Veriliş Şekli: | Yüz yüze |
Dersin Koordinatörü: | Doç. Dr. GÜVEN ÇATAK |
Dersi Veren(ler): |
MEHMET ONUR KALKAN Öğ.Gör. BERK YÜKSEL |
Dersin Amacı: | Bu ders, C# dilini kullanarak programlamanın temellerini tanıtır. Oyun geliştirmede kullanılan bir programlama dilini öğrenmek, oyun geliştirme sürecini daha iyi anlamanıza olanak sağlayacaktır. Bu, programcılarla birlikte çalışan tasarımcılar ve sanatçılar için olduğu kadar, solo geliştiriciler ve yeni başlayan programcılar için de faydalıdır. |
Bu dersi başarıyla tamamlayabilen öğrenciler; • Bir bilgisayar programının yaşam döngüsünü anlayacak, • Bilgisayarlar verileri nasıl depolar, temsil eder ve işler kavrayacak, • Sayısal verilerle yasal ifadeler nasıl yazılır ve aritmetik işlemler yapılır öğrenecek, • Karmaşık programlar tasarlamak için koşullu mantık ve koşullu ifadeleri kullanmayı becerebilecek, • Döngüler kullanarak tekrarlayan görev yürütmeyi sağlayabilecek, • Koleksiyonlardaki verilerin tutulması ve alınması işlemlerini başarabilecek, • Organize kodlu daha büyük programlar yazmak için sınırlı amaçlı yöntemler kullanmayı anlayacak, • Hata ayıklamayı bilecek, • Nesne Yönelimli Programlamanın İlkelerini öğrenecek |
Bu ders, programlama dilleri ve etkileşimli yazılım geliştirmedeki kullanımları ve oyun tasarım kariyerindeki rolleri, basit ve karmaşık veri türleri ve temel matematiksel işlemler, mantıksal ve koşullu operatörler ve özyineleme yoluyla karar verme, nesne oluşturma ve kullanma, nesne yönelimli programlamaya giriş, Array ve Collection türleri ile çalışma, sıralama algoritmaları, anahtar-değer depolama, nesne yönelimli paradigmaya giriş: Kalıtım, Çok biçimlilik, Arayüzler, nesne yönelimli paradigmanın diğer yaygın programlama paradigmaları ile karşılaştırılması, yazılım mimarisi tasarımı için modelleme araçlarının kullanılması, SOLID programlama ilkeleri gibi konuları içerecektir. Ders yüz yüze yapılacaktır. Yüz yüze derslerde dersten sorumlu olan öğrencilerin ders saatleri içerisinde dersi sınıfta takip etmeleri beklenmektedir. Ders anlatımı, tartışma ve gerekli okumaların yanı sıra vaka çalışmaları, gözlemler ve projeler de derse katkı sağlayacaktır. |
Hafta | Konu | Ön Hazırlık |
1) | Ders özeti | |
2) | Programlamaya Giriş, Hello World | |
3) | Değişkenler | |
4) | If-Else İfadeleri | |
5) | Diziler | |
6) | Döngüler | |
7) | Vize Sınav Haftası | |
8) | Unity'e Giriş | |
9) | C# ile Unity | |
10) | Animasyonlar | |
11) | Oyun Fizikleri | |
12) | Kullanıcı Arayüz Geliştirme | |
13) | Final Proje Ön Yorumları | |
14) | Final Proje Ön Yorumları |
Ders Notları / Kitaplar: | - Unity in Action (3rd Edition) – Joe Hocking |
Diğer Kaynaklar: | - The C# Player's Guide (5th Edition) – RB Whitaker |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Laboratuar | 7 | % 30 |
Ara Sınavlar | 1 | % 30 |
Final | 1 | % 40 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 60 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 40 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Süre (Saat) | İş Yükü |
Ders Saati | 14 | 3 | 42 |
Uygulama | 10 | 3 | 30 |
Sınıf Dışı Ders Çalışması | 8 | 8 | 64 |
Ara Sınavlar | 1 | 3 | 3 |
Final | 1 | 3 | 3 |
Toplam İş Yükü | 142 |
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. | 5 |
2) | Çeşitli perspektiflerden bilgi ve fikirleri analiz ederek, sentezlemek ve değerlendirebilmek. | 5 |
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. | 2 |
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. | 4 |
5) | Oyun geliştirmede kullanılan teknolojileri ve bilişim temellerini anlamak; oyun motorlarının kullanımına hakim olmak. | 5 |
6) | Oyunlarda 2B ve 3B karakterler ile animasyonlarının yaratılması sürecine hakim olmak. | 4 |
7) | Oyuncu deneyimini anlama, ölçme teorileri ile metodolojilerini kavramak ve oyun üretimi sürecinde bu bilgilerden faydalanmak. | 2 |
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. | 2 |
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. | 4 |
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. | 3 |
11) | Geliştirme dışında bir oyunun yayın sürecini endüstri standartlarında kavrayabilmek ve pratiğe dökebilmek. | 4 |
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. | 2 |