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: | English |
Dersin Türü: | Must Course |
Dersin Seviyesi: | LİSANS |
Dersin Veriliş Şekli: | Hibrit |
Dersin Koordinatörü: | Öğ.Gör. BERK YÜKSEL |
Dersi Veren(ler): |
Öğ.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ı / Kitaplar: | 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 |
Ödev | 1 | % 15 |
Ara Sınavlar | 1 | % 20 |
Final | 1 | % 35 |
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 |
Uygulama | 10 | 3 | 30 |
Sınıf Dışı Ders Çalışması | 8 | 8 | 64 |
Ara Sınavlar | 2 | 3 | 6 |
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 |