School/Faculty/Institute Faculty of Arts, Design and Architecture
Course Code DGD 103
Course Title in English Programming for Digital Game Design I
Course Title in Turkish Dijital Oyun Tasarımı Programlama I
Language of Instruction EN
Type of Course Lecture
Level of Course Başlangıç
Semester Fall
Contact Hours per Week
Lecture: 3 Recitation: Lab: Other:
Estimated Student Workload 110 hours per semester
Number of Credits 4 ECTS
Grading Mode Standard Letter Grade
Pre-requisites None
Co-requisites None
Expected Prior Knowledge None
Registration Restrictions None
Overall Educational Objective The course aims to establish a strong foundation in programming for first-year students entering digital game design. It enables students to connect coding with creative design by emphasizing gameplay logic, runtime behavior, and prototype development. By gaining familiarity with C# and Unity, students will begin to shape interactive experiences using code, preparing them for more complex technical coursework in the curriculum.
Course Description This course introduces students to fundamental programming concepts required for designing and developing digital games. It focuses on building technical literacy in algorithmic thinking, object-oriented programming (OOP), and scripting methods through hands-on activities and playable prototypes. The course establishes connections between programming logic and game mechanics, providing students with the tools to transform ideas into functioning digital systems. C# is the primary language of instruction, and Unity will be introduced as the development environment in the second half of the semester. Students will explore runtime systems, asset workflows, and professional production practices.

Course Learning Outcomes and Competences

Upon successful completion of the course, the learner is expected to be able to:
1) Temel programlama yapılarını ve kontrol yapılarını tanımlama ve Oyun mekanikleri ile programlama mantığı arasındaki ilişkiyi anlama bilgisini edinme.
2) Temel söz dizimi ve nesne yönelimli programlamayı kullanarak C# programları yazma ve hata ayıklama becerisini kazanma.
3) Giriş, değişken ve davranışları içeren basit oyun sistemleri geliştirme becerisini kazanma.
4) Oyunlarda etkileşimi simüle etmek için algoritmalar ve akış kontrolü uygulama becerisini edinme.
5) Oyun mantığını ve kod yapılarını akran ve eğitmen geri bildirimleri için etkili bir şekilde belgelendirme yetkinliğini kazanma.
6) Oyun motorundaki varlıkları ve davranışları kontrol etmek için kod kullanma yetkinliğini kazanma.
Program Learning Outcomes/Course Learning Outcomes 1 2 3 4 5 6
1) Ekonomi bilgisini diğer sosyal bilimler ve matematik ile ilişkilendirir ve disiplinlerarası analizlerde kullanır
2) Ekonomi alanları arasındaki etkileşimleri ayırt eder ve bu ayrımları sentezler
3) Mikroekonomik ve makroekonomik teorileri matematiksel ve istatistiksel araçlarla modelleyerek ekonomik olayları analiz eder
4) Karmaşık iktisadi sorunların çözümünde alternatif kuramsal yaklaşımları değerlendirir ve elde ettiği bulguları karar alma süreçlerinde rasyonel bir şekilde uygular
5) Farklı ekonomik sistemleri nicel tekniklerle analiz eder ve karşılaştırır
6) İktisadi teorik bilgi ve modelleri Türkiye ve küresel ekonomilere ilişkin sorunlara uygular ve kanıta dayalı politika önerileri tasarlar
7) Ekonomik verileri ekonometrik, istatistiki yöntemlerle analiz eder ve sonuçları uygun yazılım programlarıyla sunar
8) Ekonomik analizin tüm aşamalarını bilimsel ve etik ilkeler doğrultusunda yürütür ve raporlar
9) Bilimsel bilgi paylaşımında yazılı ve sözlü İngilizceyi (en az CEFR B2 düzeyinde) etkin biçimde kullanır.
10) Sosyal sorumluluğu iktisadi karar alma süreçlerine entegre eder
11) Yüksek derecede özerklikle daha ileri çalışmalar için gerekli öğrenme yetkinlikleri geliştirir

Relation to Program Outcomes and Competences

N None S Supportive H Highly Related
     
Program Outcomes and Competences Level Assessed by
1) Ekonomi bilgisini diğer sosyal bilimler ve matematik ile ilişkilendirir ve disiplinlerarası analizlerde kullanır N
2) Ekonomi alanları arasındaki etkileşimleri ayırt eder ve bu ayrımları sentezler N
3) Mikroekonomik ve makroekonomik teorileri matematiksel ve istatistiksel araçlarla modelleyerek ekonomik olayları analiz eder N
4) Karmaşık iktisadi sorunların çözümünde alternatif kuramsal yaklaşımları değerlendirir ve elde ettiği bulguları karar alma süreçlerinde rasyonel bir şekilde uygular N
5) Farklı ekonomik sistemleri nicel tekniklerle analiz eder ve karşılaştırır N
6) İktisadi teorik bilgi ve modelleri Türkiye ve küresel ekonomilere ilişkin sorunlara uygular ve kanıta dayalı politika önerileri tasarlar N
7) Ekonomik verileri ekonometrik, istatistiki yöntemlerle analiz eder ve sonuçları uygun yazılım programlarıyla sunar N
8) Ekonomik analizin tüm aşamalarını bilimsel ve etik ilkeler doğrultusunda yürütür ve raporlar H
9) Bilimsel bilgi paylaşımında yazılı ve sözlü İngilizceyi (en az CEFR B2 düzeyinde) etkin biçimde kullanır. H
10) Sosyal sorumluluğu iktisadi karar alma süreçlerine entegre eder H
11) Yüksek derecede özerklikle daha ileri çalışmalar için gerekli öğrenme yetkinlikleri geliştirir H
Prepared by and Date EMİRHAN COŞKUN , August 2025
Course Coordinator EMİRHAN COŞKUN
Semester Fall
Name of Instructor

Course Contents

Hafta Konu
1) Programlama ve Oyun Mantığına Giriş
2) Değişkenler, Veri Türleri ve Giriş/Çıkış
3) Koşullar ve Boole Mantığı
4) Döngüler ve Yinelemeli Yapılar
5) Fonksiyonlar ve Parametreler
6) Temel Algoritmalar ve Akış Diyagramları
7) Nesne Yönelimli Programlama: Sınıflar ve Nesneler
8) Ara Sınav: Kod Tabanlı Alıştırma ve Değerlendirme
9) Unity Arayüzüne Giriş ve Proje Kurulumu
10) Unity'de Komut Dosyası Yazma: Giriş, Nesneler ve Bileşenler
11) Çarpışma ve Olay Sistemleri
12) Sahne Yönetimi ve Varlık Entegrasyonu
13) Prototipi Parlatma: Hata Ayıklama ve Yeniden Düzenleme
14) Final Sunumları ve Kod İncelemesi
Required/Recommended Readings• Sharp, J. (2014). Learning C# by Developing Games with Unity. Packt Publishing. • Nystrom, R. (2014). Game Programming Patterns. Genever Benning. • Unity Learn (learn.unity.com) – Free tutorials and documentation. • Microsoft C# Documentation – https://docs.microsoft.com/en-us/dotnet/csharp/ • Official Unity Documentation – https://docs.unity3d.com/ • Hocking, J. (2018). Unity in action (3rd ed.). Simon and Schuster. • Whitaker, R. B. (2021). The C# player's guide (5th ed.). RB Whitaker.
Teaching Methods• Interactive lectures on programming concepts and syntax. • Hands-on coding exercises in C# using a modern IDE. • Lab-based sessions introducing Unity and basic runtime scripting. • In-class debugging challenges and pair programming. • Milestone-based prototype submissions and feedback sessions. • Weekly quizzes to reinforce technical understanding.
Homework and ProjectsHomework assignments Midterm project Final project
Laboratory WorkNone
Computer UseYes
Other ActivitiesSeminars and workshops.
Assessment Methods
Assessment Tools Count Weight
Devam 1 % 10
Küçük Sınavlar 1 % 10
Ödev 1 % 20
Ara Sınavlar 1 % 20
Final 1 % 40
TOTAL % 100
Course Administration coskunemi@mef.edu.tr

tinch@mef.edu.tr 0212 395 36 00 Attendance and participation during the entire scheduled class time for studio is mandatory. Students must be engaged in questioning and discussing the work of the class. All students are required to attend and participate in all interim and final studio reviews. All assignments must be submitted at the time and on the date specified. Academic Dishonesty and Plagiarism: YÖK Disciplinary Regulation.

ECTS Student Workload Estimation

Activity No/Weeks Hours Calculation
No/Weeks per Semester Preparing for the Activity Spent in the Activity Itself Completing the Activity Requirements
Ders Saati 14 0 1 14
Uygulama 14 0 2 28
Sınıf Dışı Ders Çalışması 14 0 2 28
Ödevler 2 0 5 10
Ara Sınavlar 1 0 10 10
Final 1 0 20 20
Total Workload 110
Total Workload/25 4.4
ECTS 4