| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS | Kredi | 
|---|---|---|---|---|---|---|
| OBLG277 | Görsel Programlama II | Ders | 2 | 3 | 6.00 | 3.00 | 
Önlisans
Bu dersin amacı, öğrencilere C# programlama dilinin temel kavramlarını ve sözdizimini öğreterek algoritmik düşünme becerisi kazandırmaktır. Öğrencilerin, değişkenler, operatörler, koşul ifadeleri, döngüler, diziler, metotlar ve nesne tabanlı programlama ilkelerini kavramaları hedeflenmektedir. Ayrıca, Windows Form uygulamaları aracılığıyla kullanıcı arayüzü geliştirme, dosya işlemleri, hata yönetimi, koleksiyon kullanımı ve SQL veritabanı bağlantıları gibi ileri düzey konular işlenerek öğrencilerin gerçek yaşam problemlerine yönelik yazılım çözümleri geliştirmeleri amaçlanmaktadır. Bu bağlamda ders, öğrencilere hem teorik bilgi hem de uygulamalı beceriler kazandırarak, yazılım geliştirme sürecinde karşılaşılan sorunları analiz edebilme, çözüm üretebilme ve profesyonel yazılım projelerinde yer alabilecek yeterliliğe ulaşmalarını sağlamayı hedeflemektedir.
Öğretim Görevlisi Sümeyye ORUÇ
| 1 | Bu dersin sonunda öğrenci, C# programlama dilinin temel sözdizimini, veri tiplerini ve operatörlerini farklı problem durumlarına göre çözümleyerek açıklar; karar yapıları ve döngülerin algoritmalar içerisindeki işlevlerini ayırt ederek uygun algoritmaları geliştirir. | 
| 2 | Bu dersin sonunda öğrenci, diziler ve metotların programların yapılandırılmasındaki rollerini çözümleyerek ayırt eder; nesne tabanlı programlama ilkelerinin (sınıf, nesne, kapsülleme, kalıtım, çok biçimlilik) uygulamadaki işlevlerini karşılaştırarak uygun çözümler geliştirir. | 
| 3 | Bu dersin sonunda öğrenci, Windows Form uygulamaları ile kullanıcı odaklı yeni arayüzler tasarlar; dosya giriş/çıkış işlemlerini ve hata yönetimi (try-catch) mekanizmalarını bütünleştirerek güvenilir program yapıları geliştirir; koleksiyonlar ve generic yapıları kullanarak verileri etkin biçimde işleyen yenilikçi çözümler tasarlar. | 
| 4 | Bu dersin sonunda öğrenci, SQL veritabanı ile bağlantı kurarak temel CRUD (Create, Read, Update, Delete) işlemlerini bütünleştirir ve kendi uygulamalarıyla entegre yazılım çözümleri tasarlar; algoritmik düşünme ve problem çözme becerilerini kullanarak gerçek yaşam problemlerine yönelik özgün yazılım sistemleri geliştirir. | 
| 5 | Bu dersin sonunda öğrenci, yazılım geliştirme sürecinde ekip çalışması içindeki kendi katkısını ve iş birliği yöntemlerini değerlendirir; profesyonel projelerde üstlendiği rolü eleştirir ve ekip performansını artırmaya yönelik iyileştirme önerileri sunar. | 
Birinci Öğretim
Ön koşul olan ders yoktur.
-Ders kapsamında ayrıca, Windows Form uygulamaları ile kullanıcı arayüzü geliştirme, dosya giriş/çıkış işlemleri, hata yönetimi, koleksiyonlar ve generic yapılar incelenecektir. SQL veritabanı ile bağlantı kurulması, tablo oluşturma ve temel CRUD işlemleri (ekleme, silme, güncelleme, listeleme) üzerinde durulacaktır. Ders, algoritmik düşünme, problem çözme ve uygulama geliştirme odaklı olup, öğrencilerin gerçek yaşam problemlerine yönelik yazılım çözümleri üretebilmelerini sağlayacak şekilde yapılandırılmıştır.
Bu derste, C# programlama dilinin temel yapıları, değişkenler, operatörler, karar yapıları ve döngüler ele alınacaktır. Diziler, metotlar ve nesne tabanlı programlama (OOP) konuları işlenecek; sınıflar, nesneler, kapsülleme, kalıtım ve çok biçimlilik gibi kavramlar uygulamalı örneklerle gösterilecektir.
| Hafta | Teorik | Uygulama | [OgretimYontemVeTeknikleri] | [OnHazirlik] | 
|---|---|---|---|---|
| 1 | Visual Studio kurulumu, C# nedir, ilk program (“Merhaba Dünya”) | Basit yazdırma örnekleri | Anlatım + Uygulamalı gösterim | Visual Studio kurulumu | 
| 2 | Temel Form kontrolleri (Label, TextBox, Button) | Kullanıcıdan veri alma ve ekrana yazdırma | Teorik ve Uygulama | Form olayları (Click, TextChanged) | 
| 3 | Kontrol yapıları (if, switch) – Form üzerinden uygulamalar | Not hesaplama, giriş kontrolü (kullanıcı adı/şifre) | Teori+Uygulama | Mantıksal operatörler | 
| 4 | Döngüler (for, while) – Form uygulamaları | Çarpım tablosu, sayı tahmin oyunu (Form üzerinde ListBox kullanımı) | Teorik ve Uygulama | Döngü algoritmaları | 
| 5 | Diziler ve ListBox kontrolleri | Sayı listesi oluşturma, tek/çift sayıları ayırma | Teorik ve Uygulama | Array tanımları | 
| 6 | Metotlar – Form uygulamalarında kullanımı | Faktöriyel, ortalama hesaplama (buton tıklama ile çağırma) | Teorik ve Uygulama | Metot sözdizimi | 
| 7 | Sınıflar ve Nesneler – Form üzerinden örnekler | Öğrenci sınıfı (Ad, Soyad, Not) ve bilgilerini Form’da listeleme | Teorik ve Uygulama | Nesne tabanlı programlama giriş | 
| 8 | Ara Sınav | |||
| 9 | Kapsülleme (Encapsulation) – Property kullanımı | Ev sınıfı (Renk, Kat, Fiyat) → Form üzerinden ekrana yazdırma | Teorik ve Uygulama | OOP kavramları | 
| 10 | Timer ve ProgressBar kontrolleri | Trafik lambası simülasyonu, sayaç, ilerleme çubuğu | Teorik ve Uygulama | Timer kontrolü | 
| 11 | Grafik ve Chart kontrolü | Not ortalaması grafiği çizdirme | Teorik ve Uygulama | NuGet paketleri (System.Windows.Forms.DataVisualization) | 
| 12 | SQL veritabanı bağlantısı (ADO.NET) | Form üzerinden öğrenci kayıt ekleme/listeleme | Teorik ve Uygulama | SQL Server ve tablo hazırlığı | 
| 13 | İlişkili tablolar ve DataGridView kullanımı | Öğrenci-Bölüm tablosu ilişkisi, kayıt görüntüleme | Teorik ve Uygulama | SQL JOIN mantığı | 
| 14 | Uygulamalı Proje | Öğrenci Otomasyonu | Uygulama ve Teorik | C# kavramları | 
| 15 | Final Sınavı | 
C# Eğitim Kitabı-Murat Yücedağ C# Çözümlü Soru Bankası-Kodlab
Uygulama/Laboratuvar çalışmaları , Sınıf içi uygulama örnekleri, Proje ve Ödev çalışmaları
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer | 
|---|---|---|
| Ara Sınav | 1 | 70 | 
| Proje Hazırlama | 1 | 30 | 
| Toplam | 100 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer | 
| Final Sınavı | 1 | 70 | 
| Proje Hazırlama | 1 | 30 | 
| Toplam | 100 | |
| Yarıyıl (Yıl) İçi Etkinlikleri | 40 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | 60 | |
Yok
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) | 
|---|---|---|---|
| Ara Sınav | 1 | 1 | 1 | 
| Final Sınavı | 1 | 1 | 1 | 
| Uygulama/Pratik | 3 | 32 | 96 | 
| Ara Sınav İçin Bireysel Çalışma | 1 | 20 | 20 | 
| Final Sınavı içiin Bireysel Çalışma | 1 | 30 | 30 | 
| Toplam İş Yükü (saat) | 148 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | |
| ÖÇ 1 | 2 | 3 | 2 | 2 | 3 | 4 | 3 | 2 | 2 | 
| ÖÇ 2 | 3 | 2 | 4 | 4 | 3 | 2 | 3 | 2 | 3 | 
| ÖÇ 3 | 3 | 3 | 3 | 2 | 3 | 5 | 4 | 2 | 4 | 
| ÖÇ 4 | 3 | 4 | 3 | 3 | 2 | 3 | 3 | 4 | 4 | 
| ÖÇ 5 | 3 | 4 | 4 | 5 | 3 | 3 | 3 | 4 | 4 |