| Kodu | Dersin Adı | Yarıyıl | Süresi(T+U) | Kredisi | AKTS Kredisi |
|---|---|---|---|---|---|
| ETP257 | ALGORİTMA VE PROGRAMLAMA | 1 | 4 | 2 | 3 |
DERS BİLGİLERİ |
|
|---|---|
| Dersin Öğretim Dili : | Türkçe |
| Dersin Düzeyi | ÖNLİSANS, TYY: + 5.Düzey, EQF-LLL: 5.Düzey, QF-EHEA: Kısa Düzey |
| Dersin Türü | Zorunlu |
| Dersin Veriliş Şekli | - |
| Dersin Koordinatörü | Öğr.Gör. BÜŞRA YAĞCI |
| Dersi Veren Öğretim Üyesi/Öğretim Görevlisi | Öğr.Gör. BÜŞRA YAĞCI |
| Ders Ön Koşulu | Yok |
AMAÇ VE İÇERİK |
|
|---|---|
| Amaç: | Bu dersin temel amacı; öğrencilere analitik ve algoritmik düşünme becerisi kazandırmak, problem çözme mantığını geliştirmek ve bu mantığı endüstri standardı olan C# programlama dili ile kodlamaya dönüştürme yeteneği kazandırmaktır. Ders boyunca ele alınan tüm teorik konular, oyun geliştirme süreçlerine (can yönetimi, skor takibi, envanter sistemleri, karakter hareketleri vb.) entegre edilerek öğrencilerin oyun programlama altyapısını güçlü bir şekilde oluşturması hedeflenmektedir. |
| İçerik: | Programlama ile ilgili temel kavramlar, algoritmik düşünme ve problem çözme adımları; akış diyagramları ve sözde kod (pseudocode) hazırlama; C# diline giriş, .NET ekosistemi ve geliştirme ortamı; temel veri tipleri, değişkenler, tip dönüşümleri ve operatörler; karar ve kontrol yapıları (if-else, switch-case); döngüler (for, while, do-while); metotlar/fonksiyonlar; veri yapıları (Diziler, List, Dictionary, HashSet); algoritmaların C# koduna uyarlanması ve oyun odaklı uygulamalar; ayrıca nesne yönelimli programlamaya (OOP) geçiş için temel sınıf ve nesne kavramları. |
DERSİN ÖĞRENME ÇIKTILARI (Öğrenciler, bu dersi başarı ile tamamladıklarında aşağıda belirtilen bilgi, beceri ve/veya yetkinlikleri gösterirler.) |
|---|
| Bu dersi başarıyla tamamlayan bir öğrenci; 1. Algoritmik düşünce yapısını kullanarak günlük yaşam ve oyun senaryolarına yönelik problem çözme adımlarını tasarlar. 2. Akış diyagramları ve sözde kodlar aracılığıyla mantıksal süreçleri ve akışları görselleştirir ve modeller. 3. C# programlama dilinin temel yapı taşlarını, veri tiplerini ve operatörleri projelerinde etkin bir şekilde kullanır. 4. Kontrol yapıları ve döngü mekaniklerini kullanarak oyun içi mantıksal akışları (oyun döngüsü, düşman turları, can ve skor kontrolleri) kodlar. 5. Dizi, liste ve sözlük yapıları (Array, List, Dictionary) yardımıyla oyun verilerini, envanterleri ve koleksiyonları yönetir. 6. Metotlar (fonksiyonlar) yazarak kod tekrarını önler ve modüler oyun bileşenleri (hasar hesaplama, puanlama vb.) geliştirir. |
HAFTALIK DERS KONULARI VE ÖNGÖRÜLEN HAZIRLIK ÇALIŞMALARI |
|||
|---|---|---|---|
| Hafta | Ön Hazırlık | Konular | Yöntem |
| 1 | Araştırma, inceleme | Programlama ile ilgili genel kavramlar, algoritmik düşünme ve problem çözme | Anlatım |
| 2 | Araştırma, inceleme | Algoritmalar, akış diyagramları ve sözde kod | Anlatım, Gösterip yaptırma |
| 3 | Araştırma, inceleme | Problem durumundan algoritma oluşturma ve algoritmanın test edilmesi | Anlatım, Gösterip yaptırma |
| 4 | Araştırma, inceleme | C#'a giriş, .NET, kütüphane kavramı, geliştirme ortamı ve C# programının temel yapısı | Anlatım, Gösterip yaptırma |
| 5 | Araştırma, inceleme | Temel veri tipleri, değişkenler ve veri tipi dönüşümleri | Anlatım, Gösterip yaptırma |
| 6 | Araştırma, inceleme | Matematiksel, karşılaştırma ve mantıksal operatörler | Anlatım, Gösterip yaptırma |
| 7 | - | ARA SINAV | - |
| 8 | Araştırma, inceleme | Kontrol yapıları ve koşullu ifadeler (if, else, switch) | Anlatım, Gösterip yaptırma |
| 9 | Araştırma, inceleme | Döngüler (for, while, do-while) ve döngü kontrol ifadeleri | Anlatım, Gösterip yaptırma |
| 10 | Araştırma, inceleme | Fonksiyonlar/metotlar, parametreler ve geri dönüş değerleri | Anlatım, Gösterip yaptırma |
| 11 | Araştırma, inceleme | Diziler ve Listeler (Array, List) | Anlatım, Gösterip yaptırma |
| 12 | Araştırma, inceleme | Sözlükler ve Kümeler (Dictionary, HashSet) | Anlatım, Gösterip yaptırma |
| 13 | Araştırma, inceleme | Verilen algoritmaların C# koduna dönüştürülmesi ve problem çözme uygulamaları | Anlatım, Gösterip yaptırma |
| 14 | Araştırma, inceleme | C# kütüphanelerinin kullanımı ve oyun geliştirmeye yönelik algoritma uygulamaları | Anlatım, Gösterip yaptırma |
| 15 | Araştırma, inceleme | Temel sınıf ve nesne kavramları, C# ile oyun nesnelerinin modellenmesi | Anlatım, Gösterip yaptırma |
| 16 | - | FİNAL | - |
| 17 | - | FİNAL | - |
KAYNAKLAR |
|---|
| Learning C# by Developing Games with Unity (Yazar: Harrison Ferrone) C# ile Nesne Yönelimli Programlama ve Algoritmalar Microsoft Learn Patika.dev |
ÖLÇME VE DEĞERLENDİRME |
||||
|---|---|---|---|---|
| Yarıyıl İçi Yapılan Çalışmaların Ölçme ve Değerlendirmesi | Etkinlik Sayısı | Katkı Yüzdesi | Açıklama | Sınav Yapılma Şekli |
| DÖNEM SONU- Sınavı (Final) | 1 | 100 | Proje Teslim Edilmesi (Sınav Yapılmaz) | |
| TOPLAM | 1 | 100 | ||
| (0) Etkisiz | (1) En Düşük | (2) Düşük | (3) Orta | (4) İyi | (5) Çok İyi |
|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 |
| BİLGİ | |||||||
|---|---|---|---|---|---|---|---|
| Kuramsal | |||||||
| Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
| 0 | 1 | 2 | 3 | 4 | 5 | ||
| 1 |
Bilgisayar alanında gerekli terimleri ve bilgileri bilir.
|
||||||
| 2 |
Bilgisayar ile ilgili olan temel mesleki ingilizce terimlerini bilir.
|
||||||
| 3 |
Bilgi güvenliği kavramı hakkında bilgi sahibi olur.
|
||||||
| BİLGİ | |||||||
|---|---|---|---|---|---|---|---|
| Olgusal | |||||||
| Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
| 0 | 1 | 2 | 3 | 4 | 5 | ||
| 1 |
Bilgisayar alanında gerekli kavramları öğrenme becerisi kazanır.
|
||||||
| BECERİLER | |||||||
|---|---|---|---|---|---|---|---|
| Bilişsel | |||||||
| Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
| 0 | 1 | 2 | 3 | 4 | 5 | ||
| 1 |
Temel elektrik-elektronik parçaların işlevlerini bilir.
|
||||||
| BECERİLER | |||||||
|---|---|---|---|---|---|---|---|
| Uygulamalı | |||||||
| Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
| 0 | 1 | 2 | 3 | 4 | 5 | ||
| 1 |
Farklı işletim sistemlerini kullanma becerisi kazanır.
|
||||||
| 2 |
Kendinden istenen yazılım kurulum işlemini gerçekleştirir.
|
||||||
| YETKİNLİKLER | |||||||
|---|---|---|---|---|---|---|---|
| Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | |||||||
| Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
| 0 | 1 | 2 | 3 | 4 | 5 | ||
| 1 |
Basit yazılım ve donanım hatalarını bulur ve düzeltir.
|
||||||
| 2 |
Var olan dijital bilgiyi korumak için düzenli periyotlarla yedekleme işlevini gerçekleştirir.
|
||||||
| YETKİNLİKLER | |||||||
|---|---|---|---|---|---|---|---|
| Öğrenme Yetkinliği | |||||||
| Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
| 0 | 1 | 2 | 3 | 4 | 5 | ||
| 1 |
Kendi alanında bağımsız bir şekilde öğrenir ve öğrendiğini uygulayabilir.
|
||||||
| YETKİNLİKLER | |||||||
|---|---|---|---|---|---|---|---|
| İletişim ve Sosyal Yetkinlik | |||||||
| Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
| 0 | 1 | 2 | 3 | 4 | 5 | ||
| 1 |
İnsan ilişkileri ve iletişimi konusunda yapılması gerekeni bilir ve uygular.
|
||||||
| YETKİNLİKLER | |||||||
|---|---|---|---|---|---|---|---|
| Alana Özgü Yetkinlik | |||||||
| Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
| 0 | 1 | 2 | 3 | 4 | 5 | ||
| 1 |
Kendinden istenilen işletim sistemlerini kurar ve yönetir.
|
||||||
DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |
|||
|---|---|---|---|
| Öğrenme-Öğretme Etkinlikleri İş Yükü | |||
| Öğrenme-Öğretme Etkinlikleri | Etkinlik(hafta sayısı) | Süresi(saat sayısı) | Toplam İş Yükü |
| Ders | 14 | 4 | 56 |
| Derse Ön Hazırlık ve Ders Sonrası Pekiştirme | 0 | 0 | 0 |
| Arazi Çalışması | 0 | 0 | 0 |
| Grup Çalışması / Ödevi | 0 | 0 | 0 |
| Laboratuvar | 0 | 0 | 0 |
| Okuma | 0 | 0 | 0 |
| Ödev | 0 | 0 | 0 |
| Proje Hazırlama | 0 | 0 | 0 |
| Seminer | 0 | 0 | 0 |
| Staj | 0 | 0 | 0 |
| Teknik Gezi | 0 | 0 | 0 |
| Web Tab. Öğrenme | 0 | 0 | 0 |
| Uygulama | 14 | 1 | 14 |
| Yerinde Uygulama | 0 | 0 | 0 |
| Mesleki Faaliyet | 0 | 0 | 0 |
| Sosyal Faaliyet | 0 | 0 | 0 |
| Tez Hazırlama | 0 | 0 | 0 |
| Alan Çalışması | 0 | 0 | 0 |
| Rapor Yazma | 0 | 0 | 0 |
| Final Sınavı | 1 | 1 | 1 |
| Final Sınavı Hazırlığı | 0 | 0 | 0 |
| Ara Sınav | 1 | 1 | 1 |
| Ara Sınav Hazırlığı | 0 | 0 | 0 |
| Kısa Sınav | 0 | 0 | 0 |
| Kısa Sınav Hazırlığı | 0 | 0 | 0 |
| TOPLAM | 30 | 0 | 72 |
| Genel Toplam | 72 | ||
| Toplam İş Yükü / 25.5 | 2,8 | ||
| Dersin AKTS(ECTS) Kredisi | 3,0 |