Mühendislik Fakültesi
Bilgisayar Ve Yazılım Mühendisliği

Ders Bilgileri

İLERİ PROGRAMLAMA
Kodu Dönemi Teori Uygulama Ulusal Kredisi AKTS Kredisi
Saat / Hafta
CSE108 Bahar 3 2 4 5

Ön Koşulu Olan Ders( ler ) Yok
Dili İngilizce
Türü Zorunlu
Seviyesi Lisans
Öğretim Elemanı( ları ) Dr. Öğr. Üyesi Furkan GÖZÜKARA
Öğretim Sistemi Yüz Yüze
Önerilen Hususlar Yok
Staj Durumu Yok
Amacı C# programlama dilinde ileri programlama konuları ve nesne tabanlı programlama
İçeriği Nesneye yönelik programlamanın temel kavramları, yapıları, sınıfları, özellikleri, yöntemleri, nesneleri; Yapıcılar, yıkıcılar, kapsülleme, miras, polimorfizm, operatör aşırı yüklenmesi; Şablonlar; İstisnalar ve istisna işleme; Dinamik bellek ayırma ve yönetimi; Değişken referans tipleri; İplikler, dişli programlamanın temelleri; Entegre geliştirme ortamlarının kullanımı.

Dersin Öğrenim Çıktıları

# Öğrenim Çıktıları
1 Nesneye dayalı programlamanın temel kavramları ve süreçleri hakkında bilgi sahibi olunur;
2 Sınıf oluşturup metot yazma detaylı şekilde anlaşılır ve örnekler ile pekiştirilir;
3 Gizli, açık ve korumalı değişkenlerin, sınıfların, metotların, statik obje ve dinamik obje kavramlarının nasıl ve nerede kullanılacağı anlaşılır;
4 Veritabanı ile veri saklama, veri güncelleme, veri okuma giriş seviyesinde öğrenilir;
5 İplik ve iş parçacığı programlama ile çok çekirdekli programlamanın temelleri öğrenilir;
6 Form yapısı kullanımının iyice anlaşılması ile gelişmiş arayüze ve özelliklere sahip bilgisayar programları yazabilecek hale gelinir;

Haftalık Ayrıntılı Ders İçeriği

# Konular Öğretim Yöntem ve Teknikleri
1 Kütüphane yapısı kullanımı, dosyaya yazma, dosyadan okuma, using yapısı, foreach döngüleri, veri tipi dönüştürme Ders
2 Kütüphane yapısı kullanımı, dosyaya yazma, dosyadan okuma, using yapısı, foreach döngüleri, veri tipi dönüştürme Ders
3 Sınıf yazıp kullanma, metot yazıp kullanma, özyinelemeli fonksiyonlar, kronometre ile süre ölçme, string biçimlendirme Ders
4 Yapıcı kullanarak metot ve sınıf yazma, yapıcı aşırı yükleme, metot aşırı yükleme, statik değişkenler, statik sınıflar, statik metotlar Ders
5 MSSQL Veri tabanına giriş, veri tabanı SQL sorguları yazma, veri tabanı bağlantı sınıfı yazma, grid yapısı kullanarak efektif veri tabanı güncelleme Ders
6 MSSQL Veri tabanına giriş, veri tabanı SQL sorguları yazma, veri tabanı bağlantı sınıfı yazma, grid yapısı kullanarak efektif veri tabanı güncelleme Ders
7 Form yapısını kullanarak farklı form'lar başlatma, task yapısı kullanarak çok iplikli programlama yapma ve ana ekranın (ana ipliğin) donmasını engelleme Ders
8 Vize Haftası - Ders Yok
9 Global statik değişken tanımlama, veri tabanı ve form yapısı kullanarak farklı rütbelere farklı ekran gösterme, veri tabanı bağlantı sınıfını parametize sorgu yöntemi ile saldırılara güvenli hale getirme, parametize sorgu kullanma Ders
10 Global statik değişken tanımlama, veri tabanı ve form yapısı kullanarak farklı rütbelere farklı ekran gösterme, veri tabanı bağlantı sınıfını parametize sorgu yöntemi ile saldırılara güvenli hale getirme, parametize sorgu kullanma Ders
11 Kompleks sınıf yapıları, metotlar, beklenmeyen ve beklenen hata yönetimi, Nuget üzerinden HtmlAgilityPack kütüphanesi ve 3. parti kütüphaneler kullanarak gelişmiş web tarayıcı yazılım geliştirme Ders
12 Kompleks sınıf yapıları, metotlar, beklenmeyen ve beklenen hata yönetimi, Nuget üzerinden HtmlAgilityPack kütüphanesi ve 3. parti kütüphaneler kullanarak gelişmiş web tarayıcı yazılım geliştirme, Json ve XML yapısı kullanarak veri saklama, veri okuma Ders
13 Kompleks sınıf yapıları, metotlar, beklenmeyen ve beklenen hata yönetimi, Nuget üzerinden HtmlAgilityPack kütüphanesi ve 3. parti kütüphaneler kullanarak gelişmiş web tarayıcı yazılım geliştirme Ders
14 Sınıf arayüzleri ve sınıf kalıtımları Ders
15
16 Proje Teslimi Sınav

Resources

# Malzeme / Kaynak Adı Kaynak Hakkında Bilgi Referans / Önerilen Kaynak
1 https://github.com/FurkanGozukara/Advanced-Programming-2019

Ölçme ve Değerlendirme Sistemi

# Ağırlık Çalışma Türü Çalışma Adı
1 %100 Son Proje Son Proje

Dersin Öğrenim Çıktıları ve Program Yeterlilikleri ile İlişkileri

# Öğrenim Çıktıları Program Çıktıları Ölçme ve Değerlendirme
1 Nesneye dayalı programlamanın temel kavramları ve süreçleri hakkında bilgi sahibi olunur; 1 1
2 Sınıf oluşturup metot yazma detaylı şekilde anlaşılır ve örnekler ile pekiştirilir; 1 1
3 Gizli, açık ve korumalı değişkenlerin, sınıfların, metotların, statik obje ve dinamik obje kavramlarının nasıl ve nerede kullanılacağı anlaşılır; 1 1
4 Veritabanı ile veri saklama, veri güncelleme, veri okuma giriş seviyesinde öğrenilir; 1 1
5 İplik ve iş parçacığı programlama ile çok çekirdekli programlamanın temelleri öğrenilir; 1 1
6 Form yapısı kullanımının iyice anlaşılması ile gelişmiş arayüze ve özelliklere sahip bilgisayar programları yazabilecek hale gelinir; 1 1
Not: Ölçme ve Değerlendirme sütununda belirtilen sayılar, bir üstte bulunan Ölçme ve Değerlerndirme Sistemi başlıklı tabloda belirtilen çalışmaları işaret etmektedir.

İş Yükü Detayları

# Etkinlik Adet Süre (Saat) İş Yükü
1 Ders Süresi 14 5 70
2 Sınıf Dışı Ders Süresi (Ön çalışma, pekiştirme) 14 2 28
3 Sunum ve Seminer Hazırlama 0 0 0
4 İnternette tarama, kütüphane ve arşiv çalışması 0 0 0
5 Belge/Bilgi listeleri oluşturma 0 0 0
6 Atölye 0 0 0
7 Ara Sınav için Hazırlık 1 3 3
8 Ara Sınav 1 3 3
9 Kısa Sınav 0 0 0
10 Ödev 1 4 4
11 Ara Proje 0 0 0
12 Ara Uygulama 0 0 0
13 Son Proje 0 0 0
14 Son Uygulama 1 6 6
15 Son Sınav için Hazırlık 1 5 5
16 Son Sınav 1 1 1
  120