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

Ders Bilgileri

NESNE TABANLI PROGRAMLAMA
Kodu Dönemi Teori Uygulama Ulusal Kredisi AKTS Kredisi
Saat / Hafta
CSE215 Güz 2 2 3 4

Ön Koşulu Olan Ders( ler ) Yok
Dili İngilizce
Türü Seçmeli
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ı Nesne tabanlı programlamanın temellerini uygulamalı olarak öğrenmek. Analitik düşünmeyi ve Analiz yapmayı öğrenmek bunları yazılım yardımı ile güncel hayat problemlerinin çözümüne uygulamayı öğrenmek. Profesyonel Programlama teknikleri ile kaliteli yazılımlar elde etmek, mühendislik prensip ve metodolojilerini kullanarak kavramsal çok boyutlu programlama bilgi ve becerilerini edinmek.
İçeriği Nesneye yönelik programlama kavramları, C# programlama dilini kullanarak IDE kullanımı, değişken tanımlama, değer atama, sınıflar, objeler, metotlar, .NET kütüphane metotlarını ve sınıflarını kullanma, dosyaya yazma, dosyadan okuma, integer ve string gibi veri tipleri, dizi ve liste gibi veri yapıları, obje yaşam süreleri, kalıtım, beklenmeyen hata yönetimi, yürütme alanı (scope), isim alanları (namespace) ve DLL’leri referans ekleme konuları bu derste öğretilecektir.

Dersin Öğrenim Çıktıları

# Öğrenim Çıktıları
1 Öğrenciler nesne tabanlı programlamayı öğrenirler.
2 Öğrenciler uygulama alanlarını öğrenirler.
3 Öğrenciler C# hakkında deneyim kazanırlar.
4 Öğrenciler bağımsız yazılım geliştirme kabiliyeti kazanırlar.

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

# Konular Öğretim Yöntem ve Teknikleri
1 C# Diline Giriş Anlatım, tartışma, sunum
2 CLR,CTS,JIT, IL Dili ve .NET Çalışma Modeli, Assembly Kavramı, İsim Uzayları, Komut Satırı Derleyicisi ve Parametreler, İlk C# Programı ve Merhaba Dünya!, Temel Veri Türleri ve Bellek Alanları, Değişken Tanımlama, Değer ve Referans Türleri Ayrımı, Object Sınıfı Anlatım, tartışma, sunum
3 Tür Dönüşümü , Bilinçli Tür Dönüşümü, Bilinçsiz Tür Dönüşümü, Checked ve Unchecked Blokları, Referans ve Değer Türleri Arasındaki Dönüşüm, Boxing Ve Unboxing, Tostring() Metodu ve Convert Sınıf, Operatörler, Operatör Önceliği , Operatörlerin Gruplandırılması, Bitsel Operatörlerle Alt Seviye Işlemler, Özel Amaçlı Operatörler Anlatım, tartışma, sunum
4 Koşul Ifadeleri, İf ve Switch Deyimleri, Döngü Yapıları, For Döngüsü, While Ve Do-While Döngüsü, Foreach Döngüsü, Atlama Deyimleri, Diziler, Dizi Tanımlama, Döngülerle Dizi İşlemleri, Çok Boyutlu Diziler, Matris Dizileri ve Düzensiz Diziler, Anlatım, tartışma, sunum
5 System.Array Sınıfı, Array Sınıf ile Temel Dizi Işlemleri, Metotlar ve Fonksiyonlar, Metot Bildirimi, Metotların Önemli Özellikleri, Diziler ve Metotlar, Değer ve Referans Parametreleri, Ref ve Out Anahtar Sözcükleri, Anlatım, tartışma, sunum
6 Metotların Aşırı Yüklenmesi ve Imza Kavramı, Değişken Sayıda Parametre Alan Metotlar, Recursive Metotlar, Main Metodu ve Çeşitleri, Sınıflara Giriş, Sınıf Bildirimi ve Nesne Tanımlama, Sınıflara Metot Ekleme, This Anahtar Sözcüğü Anlatım, tartışma, sunum
7 Sınıfın Üye Elemanları, Yapıcı Metotlar, Yıkıcı Metotlar, Özellikler, İndeksleyiciler, Statik Üye Elemanları, Statik Metotlar ve Yapıcı Metotlar Anlatım, tartışma, sunum
8 Const ve Readonly Elemanlar, Yapılar, Yapılar ve Sınıflar Arasındaki Farklar, Numaralandırmalar, System.Enum Sınıfı, İsim Alanı Nedir? İsim Alanı Bildirimi, Using Deyimi, Using Ile Türlere Takma Ad Takma, İç Içe Geçmiş Isim Alanları, System Isim Alanındaki Önemli Türler, Anlatım, tartışma, sunum
9 Ara Sınav Ölçme
10 Tarih ve Zaman Işlemleri (Datetime ve Datediff), Bitconverter ve Buffer Sınıfları, Gc Mekanizması ve Gc Sınıfı, Temel I/O Işlemlerine Giriş, Dosya ve Klasör Işlemleri, Dosya Yazma ve Okuma Işlemleri, Binarywriter ve Binaryreader Sınıfları, Akım(Stream) Kavramı, Console Işlemleri, Standart Akımların Yönlendirilmesi, Temel String Işlemleri, Split Ve Join Işlemleri, Yazıların Biçimlendirilmesi, Özel Biçimlendirme Oluşturma, Düzenli Ifadeler (Regex) Anlatım, tartışma, sunum
11 Nesne Yönelimli Programlama, Diğer Programlama Teknikleri, Nesne Modeli, Sınıf Kütüphanesi Oluşturma, Kalıtım Erişim Belirleyiciler, Versiyonlama, Temel ve Türeyen Sınıflar Anlatım, tartışma, sunum
12 İsim Saklama ve Overriding, Çok Biçimlilik (Polimorfizm), Sanal Metotlar ve Sınıflar, Özet ve Sealed Sınıflar, Versiyonlama Teknikleri Overloading ve Overriding, Arayzüler, Arayüz Tanımlama, Arayüz ve Sınıflar Arasındaki Fark, Arayüz Türetmesi, Arayüz Referansları Anlatım, tartışma, sunum
13 İstisnai Durum Yönetimi, İstisnai Durum Sınıfları, Throw,Catch,Try,Finally Blokları, Birden Fazla Catch Blokları, İçiçe Geçmiş Try Blokları, Standart Istisnai Durum Sınıfları, İstisnai Durum Sınıfları Oluşturma , Temsilciler (Delegates), Çoklu Temsilciler, Delegate ve Multicast Delegate Sınıfları, Olaylar, Olay Tabanlı Programlama, Add ve Remove Erişimcileri, .Net ve Olaylar, C#'ta Önişlemci Komutları. Anlatım, tartışma, sunum
14 Genel Türler (Generics), Iterators, Anonim Metotlar (Anonymous Methods), Kısmi Türler (Partial Types) Var tipinde yerel değişkenler Nesnelere ve koleksiyonlara ilk değer ataması. Anlatım, tartışma, sunum
15 İsimsiz Veri Tipleri (Anonymous Types)Genişletme Metotları (Extension Methods)Lambda İfadeleri (Lambda Expressions)Sorgu İfadeleri (Query Expressions)Dynamic ifadeler Anlatım, tartışma, sunum
16 Son Sınav Ölçme

Resources

# Malzeme / Kaynak Adı Kaynak Hakkında Bilgi Referans / Önerilen Kaynak

Ölçme ve Değerlendirme Sistemi

# Ağırlık Çalışma Türü Çalışma Adı
1 %40 Ara Sınav Ara Sınav
2 %60 Son Sınav Son Sınav

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

# Öğrenim Çıktıları Program Çıktıları Ölçme ve Değerlendirme
1 Öğrenciler nesne tabanlı programlamayı öğrenirler. 2͵3͵4 1͵2
2 Öğrenciler uygulama alanlarını öğrenirler. 2͵3͵4 1͵2
3 Öğrenciler C# hakkında deneyim kazanırlar. 2͵3͵4 1͵2
4 Öğrenciler bağımsız yazılım geliştirme kabiliyeti kazanırlar. 2͵3͵4 1͵2
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 4 56
2 Sınıf Dışı Ders Süresi (Ön çalışma, pekiştirme) 0 0 0
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 0 0 0
8 Ara Sınav 1 10 10
9 Kısa Sınav 0 0 0
10 Ödev 0 0 0
11 Ara Proje 1 10 10
12 Ara Uygulama 0 0 0
13 Son Proje 0 0 0
14 Son Uygulama 0 0 0
15 Son Sınav için Hazırlık 0 0 0
16 Son Sınav 1 4 4
  80