Ders Adı | Kodu | Yerel Kredi | AKTS | Ders (saat/hafta) | Uygulama (saat/hafta) | Laboratuar (saat/hafta) |
---|---|---|---|---|---|---|
Nesneye Yönelik Programlama | MTM3662 | 3 | 5 | 3 | 0 | 0 |
Önkoşullar | Yok |
---|
Yarıyıl | Bahar |
---|
Dersin Dili | İngilizce, Türkçe |
---|---|
Dersin Seviyesi | Lisans |
Dersin Türü | Seçmeli @ Matematik Mühendisliği Lisans Programı (%30 İngilizce) Seçmeli @ Matematik Lisans Programı |
Ders Kategorisi | Temel Meslek Dersleri |
Dersin Veriliş Şekli | Yüz yüze |
Dersi Sunan Akademik Birim | Matematik Mühendisliği Bölümü |
---|---|
Dersin Koordinatörü | Nilgün Güler Bayazıt |
Dersi Veren(ler) | Aydın Seçer, Nilgün Güler Bayazıt |
Asistan(lar)ı | Handenur Esen |
Dersin Amacı | Öğrencilere nesneye yönelik programlama kavramlarını öğreterek, yazılım geliştirme sürecini daha etkin ve düzenli hale getirmelerini sağlamak ve OOP prensiplerini uygulayarak güçlü ve ölçeklenebilir yazılım sistemleri tasarlamalarını sağlamaktır. |
---|---|
Dersin İçeriği | Bu ders, nesne tabanlı programlamaya (OOP) giriş yaparak başlar ve nesne temelli düşünme, tasarım prensipleri ve OOP tarihini ele alır. Temel kavramlar, özellikler, yöntemler, olaylar, kontrol yapıları, döngüler ve diziler gibi OOP temelleri üzerinde durulur. İlkel ve referans tipler, veri yapıları ve algoritmalar incelenirken, listeler, yığınlar, kuyruklar ve sözlükler gibi yapıların OOP'deki uygulamalarına değinilir. Dersin ilerleyen kısımlarında, nesne ve sınıf tasarımı, Birleşik Modelleme Dili (UML) ve sınıf, nesne, aktivite diyagramları gibi çeşitli UML diyagramları üzerinde çalışılır. Kalıtım, soyut sınıflar, bileşim, arabirimler, çok biçimlilik ve SOLID prensipleri gibi kavramlar incelenir. Ayrıca OOP'de istisna ve hata yönetimi ele alınır. Ara sınavın ardından, bellek yönetimi, çöp toplama ve kaynak işleme gibi konulara odaklanılır. Nesne serileştirme, JSON, XML ve veritabanları ile çalışma incelenirken, eşzamanlılık, paralel programlama ve asenkron programlama gibi ileri düzey konulara geçilir. Diğer tasarım desenleri, mimari desenler (MVC, MVVM, vb.), mikroservisler ve API geliştirme üzerinde durulur. Son olarak, yazılım mühendisliği prensipleri, çevik metodolojiler, sürüm kontrol sistemleri, kod incelemeleri ve test etme gibi konular incelenir. Ders final sınavı ile sona erer. |
Ders Kitabı / Malzemesi / Önerilen Kaynaklar |
|
Opsiyonel Program Bileşenleri | Yok |
Ders Öğrenim Çıktıları
- Nesne tabanlı düşünme becerisi kazandırır
- Yazılım geliştirme becerisini arttırır
- Yazılım hatalarını yönetme ve işleme yeteneğinin gelişmesini sağlar
- Veri işleme ve analiz yeteneklerini geliştirir
- Karmaşık yazılım projelerinde işlevsel ve ölçeklenebilir yazılım mimarileri oluşturmayı öğrenir
Ders Öğrenim Çıktısı & Program Çıktısı Matrisi
DÖÇ-1 | DÖÇ-2 | DÖÇ-3 | DÖÇ-4 | DÖÇ-5 |
Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları
Hafta | Konular | Ön Hazırlık |
---|---|---|
1 | Nesne Tabanlı Programlamaya (OOP) Giriş: Nesne temelli düşünme, tarih ve tasarım prensipleri | Kaynak Kitaplar ve Çevirimiçi Materyaller |
2 | OOP temelleri: Özellikler, metotlar, olaylar, kontrol yapıları, döngüler ve diziler | Kaynak Kitaplar ve Çevirimiçi Materyaller |
3 | Veri yapıları ve algoritmalar: İlkel ve referans tipler, listeler, yığınlar, kuyruklar, sözlükler ve OOP'deki uygulamaları | Kaynak Kitaplar ve Çevirimiçi Materyaller |
4 | Nesne ve sınıf tasarımı, Birleşik Modelleme Dili (UML): Sınıf diyagramları, nesne diyagramları ve aktivite diyagramları | Kaynak Kitaplar ve Çevirimiçi Materyaller |
5 | Davranışsal UML Diyagramaları: Use case, Ardışıl ve State diyagramları | Kaynak Kitaplar ve Çevirimiçi Materyaller |
6 | Arayüzler, çok biçimlilik ve SOLID prensipleri | Kaynak Kitaplar ve Çevirimiçi Materyaller |
7 | Kalıtım, soyut sınıflar ve bileşim | Kaynak Kitaplar ve Çevirimiçi Materyaller |
8 | Ara Sınav 1 | |
9 | Arayüzler, çok biçimlilik ve SOLID prensipleri | Kaynak Kitaplar ve Çevirimiçi Materyaller |
10 | OOP'de istisna yönetimi ve hata yönetimi | Kaynak Kitaplar ve Çevirimiçi Materyaller |
11 | Nesne Serileştirme, JSON, XML ve veritabanları ile çalışma | Kaynak Kitaplar ve Çevirimiçi Materyaller |
12 | Diğer tasarım desenleri ve mimari desenler (MVC, MVVM, vb.), mikroservisler ve API geliştirme | Kaynak Kitaplar ve Çevirimiçi Materyaller |
13 | Yazılım mühendisliği prensipleri: Çevik metodolojiler, sürüm kontrol sistemleri, kod incelemeleri ve test etme | Kaynak Kitaplar ve Çevirimiçi Materyaller |
14 | Proje sunumları | Kaynak Kitaplar ve Çevirimiçi Materyaller |
15 | Proje Sunumları | Kaynaklardaki ilgili bölüm |
16 | Final |
Değerlendirme Sistemi
Etkinlikler | Sayı | Katkı Payı |
---|---|---|
Devam/Katılım | 0 | 0 |
Laboratuar | ||
Uygulama | ||
Arazi Çalışması | ||
Derse Özgü Staj | ||
Küçük Sınavlar/Stüdyo Kritiği | ||
Ödev | ||
Sunum/Jüri | ||
Projeler | 1 | 30 |
Seminer/Workshop | ||
Ara Sınavlar | 1 | 30 |
Final | 1 | 40 |
Dönem İçi Çalışmaların Başarı Notuna Katkısı | ||
Final Sınavının Başarı Notuna Katkısı | ||
TOPLAM | 100 |
AKTS İşyükü Tablosu
Etkinlikler | Sayı | Süresi (Saat) | Toplam İşyükü |
---|---|---|---|
Ders Saati | 14 | 3 | |
Laboratuar | |||
Uygulama | |||
Arazi Çalışması | |||
Sınıf Dışı Ders Çalışması | 14 | 4 | |
Derse Özgü Staj | |||
Ödev | |||
Küçük Sınavlar/Stüdyo Kritiği | |||
Projeler | 1 | 20 | |
Sunum / Seminer | |||
Ara Sınavlar (Sınav Süresi + Sınav Hazırlık Süresi) | 1 | 10 | |
Final (Sınav Süresi + Sınav Hazırlık Süresi) | 1 | 10 | |
Toplam İşyükü : | |||
Toplam İşyükü / 30(s) : | |||
AKTS Kredisi : |
Diğer Notlar | Yok |
---|