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 |
Bu dersin açılması ilgili bölüm tarafından yarıyıl başında belirlenir |
Öğretim Dili: | En |
Dersin Türü: | Must Course |
Dersin Seviyesi: | LİSANS |
Dersin Veriliş Şekli: | Hibrit |
Dersin Koordinatörü: | Öğ.Gör. BERK YÜKSEL |
Dersin Amacı: | Programlamanın Temelleri dersi, platform ve dilden bağımsız olarak tüm modern programlar için gerekli olan yapı taşlarıyla programlama mantığını öğretmeyi amaçlar. C# programlama dili, hem kullanım kolaylığı hem de performans açısından dengeli bir yaklaşım içinde olmasının yanı sıra video oyunları alanındaki artan popülaritesi, teoriyi pekiştirmek için bir uygulama aracı olarak birlikte öğretilecektir. |
Bu dersi başarıyla tamamlayabilen öğrenciler; • Bir bilgisayar programının yaşam döngüsü. • Bilgisayarlar verileri nasıl depolar, temsil eder ve işler. • Sayısal verilerle yasal ifadeler nasıl yazılır ve aritmetik işlemler yapılır. • Karmaşık programlar tasarlamak için koşullu mantık ve koşullu ifadeleri kullanma. • Döngüler kullanarak tekrarlayan görev yürütme. • Koleksiyonlardaki verilerin tutulması ve alınması. • Organize kodlu daha büyük programlar yazmak için sınırlı amaçlı yöntemler kullanmak. • Hata ayıklama. • Nesne Yönelimli Programlamanın İlkeleri. |
• Programlama dillerine giriş; etkileşimli yazılım geliştirmede kullanımları ve oyun tasarımı kariyerinde rolleri. • Basit ve karmaşık veri tipleri ve temel matematik işlemleri. • Mantıksal ve koşullu operatörler ve özyineleme yoluyla karar verme. • Nesneleri oluşturma ve kullanma, nesne yönelimli programlamaya giriş. • Dizi ve Koleksiyon türleri ile çalışma, sıralama algoritmaları, anahtar-değer depolaması • Nesne yönelimli paradigmaya giriş: Kalıtım, Polimorfizm, Arayüzler • Diğer ortak programlama paradigmalarıyla nesne yönelimli paradigmanın karşılaştırılması. • Yazılım mimarisi tasarımı için modelleme araçlarını kullanma. • Temel ve sağlamlaştırlmış programlamanın prensipleri. • Yazılım projeleri için doküman oluşturma • Konsol uygulamalarından oyun motorlarına geçiş |
Hafta | Konu | Ön Hazırlık | |
1) | Introduction, Course Schedule, Review, Expectations | ||
2) | Hello World, Data Types | ||
3) | Arithmetic expressions, I/O | ||
4) | Conditional statements | ||
5) | Loops 1 | ||
6) | Loops 2 | ||
7) | Collections. Midterm Exam Prep. | ||
8) | Methods and Scopes | ||
9) | Final Project Design Presentations | ||
10) | Structs | ||
11) | Exception Handling | ||
12) | Classes 1 | ||
13) | Classes 2 | ||
14) | Unity Primer |
Ders Notları: | The C# Player's Guide 2nd Edition |
Diğer Kaynaklar: | Anggoro, Wisnu. (2017). Functional C#. |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Devam | 1 | % 10 |
Laboratuar | 4 | % 20 |
Uygulama | % 0 | |
Arazi Çalışması | % 0 | |
Derse Özgü Staj | % 0 | |
Küçük Sınavlar | % 0 | |
Ödev | 1 | % 15 |
Sunum | % 0 | |
Projeler | % 0 | |
Seminer | % 0 | |
Ara Sınavlar | 1 | % 20 |
Ara Juri | % 0 | |
Final | 1 | % 35 |
Rapor Teslimi | % 0 | |
Juri | % 0 | |
Bütünleme | % 0 | |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 65 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 35 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Süre (Saat) | İş Yükü |
Ders Saati | 14 | 3 | 42 |
Laboratuvar | 0 | 0 | 0 |
Uygulama | 10 | 3 | 30 |
Derse Özgü Staj | 0 | 0 | 0 |
Arazi Çalışması | 0 | 0 | 0 |
Sınıf Dışı Ders Çalışması | 8 | 8 | 64 |
Sunum / Seminer | 0 | 0 | 0 |
Proje | 0 | 0 | 0 |
Ödevler | 0 | 0 | 0 |
Küçük Sınavlar | 0 | 0 | 0 |
Ara Juri | 0 | 0 | 0 |
Ara Sınavlar | 2 | 3 | 6 |
Rapor Teslimi | 0 | 0 | 0 |
Juri | 0 | 0 | 0 |
Final | 1 | 3 | 3 |
Toplam İş Yükü | 145 |
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. | 2 |
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. | 1 |
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. | 1 |
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. | 2 |
7) | Oyuncu deneyimini anlama, ölçme teorileri ile metodolojilerini kavramak ve oyun üretimi sürecinde bu bilgilerden faydalanmak. | 1 |
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. | 1 |
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. | 2 |
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. | 1 |
11) | Geliştirme dışında bir oyunun yayın sürecini endüstri standartlarında kavrayabilmek ve pratiğe dökebilmek. | 1 |
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. | 1 |