Ders AdıKodu Yerel KrediAKTS Ders (saat/hafta)Uygulama (saat/hafta)Laboratuar (saat/hafta)
Nesneye Yönelik İleri ProgramlamaMTM466135300
ÖnkoşullarYok
YarıyılGüz, Bahar
Dersin Diliİngilizce, Türkçe
Dersin SeviyesiLisans
Dersin TürüSeçmeli @ Matematik Mühendisliği Lisans Programı (%30 İngilizce)
Ders KategorisiTemel Meslek Dersleri
Dersin Veriliş ŞekliYüz yüze
Dersi Sunan Akademik BirimMatematik Mühendisliği Bölümü
Dersin KoordinatörüAydın Seçer
Dersi Veren(ler)Aydın Seçer
Asistan(lar)ı
Dersin AmacıNesne tabanlı programlamanın temelerini 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.
Dersin İçeriğiNesneye Yönelik Programlama Diline Giriş, İlk 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ı Tür Dönüşümü , Bilinçli Tür Dönüşümü, Bilinçsiz Tür Dönüşümü, Referans ve Değer Türleri Arasındaki Dönüşüm, Boxing Ve Unboxing, Operatörler, Operatör Önceliği , Operatörlerin Gruplandırılması, Bitsel Operatörlerle Alt Seviye Işlemler, Özel Amaçlı Operatörler Koşul Ifadeleri, If 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 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. 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üğü Sınıfın Üye Elemanları, Yapıcı Metotlar, Yıkıcı Metotlar, Özellikler, İndeksleyiciler, Statik Üye Elemanları, Statik Metotlar ve Yapıcı Metotlar Const ve Readonly Elemanlar, Yapılar, Yapılar ve Sınıflar Arasındaki Farklar, Numaralandırmalar, Enum Sınıfı. 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) 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 İ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ı İ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. 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ı, İsimsiz Veri Tipleri (Anonymous Types)Genişletme Metotları (Extension Methods)Lambda İfadeleri (Lambda Expressions)Sorgu İfadeleri (Query Expressions)Dynamic ifadeler Veri Tabanı Modeli, Nesne Modeli, Veritabanlarına Erişim, Bağlantısız Veri Erişimi ve Dataset Modeli, select , insert, update, delete işlemleri, Stored Procedure kullanımı, Transaction yönetimi, null değerler ile çalışma
Ders Kitabı / Malzemesi / Önerilen Kaynaklar
  • Python Object-Oriented Programming - Fourth Edition, Steven F. Lott, Dusty Phillips, Packt Publishing, July 2021
  • Python 3 Object-Oriented Programming, Dusty Phillips, Packt Publishing, October 2018
Opsiyonel Program BileşenleriYok

Ders Öğrenim Çıktıları

  1. Öğrenciler nesne yönelimli programlamanın temel kavramlarını öğrenirler
  2. Öğrenciler güncel nesne yönelimli programlama dillerinin temel özelliklerini kullanabilme yeteneği kazanırlar
  3. Gerçek dünya problemlerini nesneye dayalı yaklaşımla çözülebilme becerisi kazanırlar
  4. Öğrenciler bağımsız yazılım geliştirme kabiliyeti kazanırlar.
  5. Öğrenciler UML şemaları aracılığıyla nesne yönelimli yazılım tasarlama ve raporlama becerisi kazanırlar

Ders Öğrenim Çıktısı & Program Çıktısı Matrisi

DÖÇ-1DÖÇ-2DÖÇ-3DÖÇ-4DÖÇ-5
PÇ-1-----
PÇ-2-----
PÇ-3--3--
PÇ-4--444
PÇ-5--444
PÇ-6----3
PÇ-7----4
PÇ-8-----
PÇ-955555
PÇ-10-----
PÇ-11-----
PÇ-12-----
PÇ-13-----
PÇ-14---4-
PÇ-15-----
PÇ-16324--
PÇ-17----5
PÇ-18-----
PÇ-19----4
PÇ-20----4
PÇ-21----3
PÇ-22-5---
PÇ-23-5---
PÇ-24-----
PÇ-25-----
PÇ-26-----
PÇ-27-----
PÇ-28-----
PÇ-29-----
PÇ-30-----

Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları

HaftaKonularÖn Hazırlık
1Nesneye Yönelik Programlama Diline Giriş, İlk 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ıİlgili Kaynaklardan
2Tür Dönüşümü , Bilinçli Tür Dönüşümü, Bilinçsiz Tür Dönüşümü, Referans ve Değer Türleri Arasındaki Dönüşüm, Boxing Ve Unboxing, Operatörler, Operatör Önceliği , Operatörlerin Gruplandırılması, Bitsel Operatörlerle Alt Seviye Işlemler, Özel Amaçlı Operatörlerİlgili Kaynaklardan
3Koşul Ifadeleri, If 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İlgili Kaynaklardan
4Array Sınıfı, Array Sınıf ile Temel Dizi Işlemleri, Metotlar ve Fonksiyonlar, Metot Bildirimi, Metotların Önemli Özellikleri, Diziler ve Metotlar.İlgili Kaynaklardan
5Metotları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üğüİlgili Kaynaklardan
6Sınıfın Üye Elemanları, Yapıcı Metotlar, Yıkıcı Metotlar, Özellikler, İndeksleyiciler, Statik Üye Elemanları, Statik Metotlar ve Yapıcı Metotlarİlgili Kaynaklardan
7Const ve Readonly Elemanlar, Yapılar, Yapılar ve Sınıflar Arasındaki Farklar, Numaralandırmalar, Enum Sınıfı.İlgili Kaynaklardan
8Ara Sınav 1
9Nesne 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İlgili Kaynaklardan
10Nesne 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İlgili Kaynaklardan
11İ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ıİlgili Kaynaklardan
12İ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.İlgili Kaynaklardan
13Genel 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ı, İsimsiz Veri Tipleri (Anonymous Types)Genişletme Metotları (Extension Methods)Lambda İfadeleri (Lambda Expressions)Sorgu İfadeleri (Query Expressions)Dynamic ifadelerİlgili Kaynaklardan
14Veri Tabanı Modeli, Nesne Modeli, Veritabanlarına Erişim, Bağlantısız Veri Erişimi ve Dataset Modeli, select , insert, update, delete işlemleri, Stored Procedure kullanımı, Transaction yönetimi, null değerler ile çalışmaİlgili Kaynaklardan
15Konu Tekrarı ve Uygulamaları
16Final

Değerlendirme Sistemi

EtkinliklerSayıKatkı Payı
Devam/Katılım
Laboratuar
Uygulama
Arazi Çalışması
Derse Özgü Staj
Küçük Sınavlar/Stüdyo Kritiği
Ödev315
Sunum/Jüri
Projeler125
Seminer/Workshop
Ara Sınavlar120
Final140
Dönem İçi Çalışmaların Başarı Notuna Katkısı
Final Sınavının Başarı Notuna Katkısı
TOPLAM100

AKTS İşyükü Tablosu

EtkinliklerSayıSüresi (Saat)Toplam İşyükü
Ders Saati143
Laboratuar
Uygulama23
Arazi Çalışması
Sınıf Dışı Ders Çalışması157
Derse Özgü Staj
Ödev33
Küçük Sınavlar/Stüdyo Kritiği
Projeler110
Sunum / Seminer
Ara Sınavlar (Sınav Süresi + Sınav Hazırlık Süresi)12
Final (Sınav Süresi + Sınav Hazırlık Süresi)12
Toplam İşyükü :
Toplam İşyükü / 30(s) :
AKTS Kredisi :
Diğer NotlarYok