Bilgisayar Programcılığı (İÖ) | |||||
Önlisans | TYYÇ: 5. Düzey | QF-EHEA: Kısa Düzey | EQF-LLL: 5. Düzey |
Ders Kodu: | BIL203 | ||||
Ders İsmi: | Nesneye Yönelik Programlama Temelleri | ||||
Ders Yarıyılı: | Güz | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | Türkçe | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Zorunlu | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Dr. Öğr. Üy. CEM UFUK BAYTAR | ||||
Dersi Veren(ler): | Öğr. Gör. Meral Ergün & Öğr. Gör. Gökhan Dilek | ||||
Dersin Yardımcıları: |
Dersin Amacı: | Bu ders, öğrencilere C# programlama dilinin temel prensipleri üzerine odaklanarak nesneye yönelik programlama (OOP) kavramlarını anlamalarını amaçlamaktadır. Katılımcılar, C# dilinde sürdürülebilir, modüler ve anlaşılabilir kod yazma yeteneklerini geliştirmek adına nesneye yönelik programlamaya dair temel becerileri kazanacaklardır. |
Dersin İçeriği: | Giriş ve Temel Kavramlar Programlama Paradigmaları C# ve .NET Framework Tanıtımı Temel C# Sözdizimi Nesneye Yönelik Programlamanın Temelleri Sınıflar ve Nesneler Miras (Inheritance) ve Arayüzler (Interfaces) Polimorfizm ve Kapsülleme Soyut Sınıflar ve Arabirimler Temel C# Programlama Konseptleri Değişkenler ve Veri Tipleri Kontrol Yapıları (If-Else, Switch) Döngüler (For, While, Do-While) Hata Yönetimi ve İstisnalar Hata Türleri Try-Catch Blokları Özel İstisna Sınıfları Dosya İşlemleri ve Veritabanı Bağlantıları Dosya Okuma ve Yazma Temel Veritabanı İşlemleri (CRUD Operasyonları) Entity Framework Kullanımı Proje Geliştirme Küçük çaplı bir proje üzerinden uygulamalı çalışmalar Öğrenilen konseptlerin pratiğe dökülmesi |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) C# programlama dilinin temel söz dizimini anlama. 2) Nesneye yönelik programlamanın genel prensiplerini kavrama. 3) Sınıf ve nesne kavramlarını açıklama. 4) Miras, polimorfizm, kapsülleme gibi temel OOP konseptlerini anlama. 5) Değişkenleri ve veri tiplerini kullanabilme. 6) Kontrol yapıları (if-else, switch) ve döngüler (for, while, do-while) kullanarak programlama yapabilme. 7) Temel hata türlerini ayırt etme. 8) Try-catch blokları kullanarak hata yönetimi yapabilme. 9) Dosya okuma ve yazma işlemlerini gerçekleştirme. 10) Veritabanı bağlantıları kurma ve CRUD (Create, Read, Update, Delete) operasyonlarını gerçekleştirme. 11) Küçük çaplı bir proje üzerinden uygulama yapabilme. 12) Öğrenilen konseptleri bir projede uygulama yeteneği. 13) Programlama konseptlerini açıklama ve paylaşma becerilerini geliştirme. 14) Grup içinde işbirliği yapabilme yeteneği. 15) Yazılım projelerinde karşılaşılan sorunları analiz edebilme. 16) Çeşitli problem çözme stratejilerini uygulayabilme yeteneği. |
Hafta | Konu | Ön Hazırlık |
1) | Programlama Paradigmaları ve C# ve .NET Framework Tanıtımı | Yok |
2) | Temel C# Sözdizimi | Yok |
3) | Değişkenler ve Veri Tipleri + Kontrol Yapıları (If-Else, Switch) | Yok |
4) | Döngüler (For, While, Do-While) | Yok |
5) | Sınıflar ve Nesneler & Miras (Inheritance) ve Arayüzler (Interfaces) | Yok |
6) | Polimorfizm ve Kapsülleme | Yok |
7) | Soyut Sınıflar ve Arabirimler | Yok |
8) | Ara Sınav | 1,2,3,4,5,6,7 |
9) | Hata Türleri - Try-Catch Blokları | Yok |
10) | Özel İstisna Sınıfları | Yok |
11) | Dosya Okuma ve Yazma & Temel Veritabanı İşlemleri (CRUD Operasyonları) | Yok |
12) | Entity Framework Kullanımı | Yok |
13) | Küçük çaplı bir proje üzerinden uygulamalı çalışmalar | Yok |
14) | Öğrenilen konseptlerin pratiğe dökülmesi ve daha büyük projelerin geliştirilmesi | Yok |
15) | Final | 9,10,11,12,13,14 |
Ders Notları / Kitaplar: | Yeni Başlayanlar İçin C# ile Algoritmalara ve Programcılığa Giriş - Fahrettin Erdinç |
Diğer Kaynaklar: | https://www.udemy.com/course/csharp-programlama-dili/ |
Ders Öğrenme Kazanımları | 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | ||||||||||||||||
1) Problem çözme ve analitik düşünme yeteneklerini kazanır. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
2) Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
3) Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
4) Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
5) Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
6) Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
7) Veritabanı tasarım ve kodlamasını yapar. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
8) Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 3 | 2 | 3 | 1 | 3 |
9) İngilizce dilini etkin bir biçimde kullanır. | 2 | 1 | 2 | 3 | 2 | 1 | 2 | 2 | 3 | 2 | 2 | 2 | 3 | 2 | 2 | 2 |
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 1 | 2 | 3 | 3 | 2 | 1 | 2 | 3 | 1 |
11) Bireysel ya da takım olarak yazılım geliştirir. | 1 | 3 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 3 | 2 |
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 1 | 3 | 3 | 2 | 1 | 1 |
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. | 2 | 2 | 3 | 3 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 2 | 2 | 3 | 2 |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Problem çözme ve analitik düşünme yeteneklerini kazanır. | 3 |
2) | Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | 3 |
3) | Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | 3 |
4) | Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | 3 |
5) | Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | 3 |
6) | Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | 3 |
7) | Veritabanı tasarım ve kodlamasını yapar. | 3 |
8) | Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | 3 |
9) | İngilizce dilini etkin bir biçimde kullanır. | 3 |
10) | Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | 3 |
11) | Bireysel ya da takım olarak yazılım geliştirir. | 3 |
12) | Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | 3 |
13) | Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. | 2 |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Ödev | 1 | % 20 |
Ara Sınavlar | 1 | % 30 |
Final | 1 | % 50 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 50 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 50 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Aktiviteye Hazırlık | Aktivitede Harçanan Süre | Aktivite Gereksinimi İçin Süre | İş Yükü | ||
Ders Saati | 3 | 15 | 2 | 51 | |||
Ödevler | 1 | 15 | 1 | 16 | |||
Ara Sınavlar | 1 | 25 | 1 | 26 | |||
Final | 1 | 30 | 1 | 31 | |||
Toplam İş Yükü | 124 |