BIL203 Nesneye Yönelik Programlama Temelleriİstinye ÜniversitesiAkademik Programlar Bilgisayar ProgramcılığıÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Bilgisayar Programcılığı

Önizleme

Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BIL203
Ders İsmi: Nesneye Yönelik Programlama
Ders Yarıyılı: Güz
Ders Kredileri:
AKTS
6
Öğretim Dili: Türkçe
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Öğr. Gör. AHMET SELİM ÖVER
Dersi Veren(ler): Öğr. Gör. Meral Ergün & Öğr. Gör. Gökhan Dilek
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

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

Öğrenme Kazanımları

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.

Ders Akış Planı

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

Kaynaklar

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 - Program Öğrenme Kazanım İlişkisi

Course Learning Outcomes

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 2 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 2 3 3 3 3 3 3 3 3 2 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 3 3 3 3 3 3
9) İngilizce dilini etkin bir biçimde kullanır. 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
11) Bireysel ya da takım olarak yazılım geliştirir. 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3

Ders - Öğrenme Kazanımı İlişkisi

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. 3

Ölçme ve Değerlendirme

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

İş Yükü ve AKTS Kredisi Hesaplaması

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