GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS Kredi
EBLG220 Nesne Yönelimli Programlama Ders 2 4 5.00 3.00

Lisans


Türkçe


Bu dersin temel amacı, öğrencilerin nesne yönelimli programlama (NYP) yaklaşımını kavramsal ve uygulamalı olarak öğrenmelerini sağlamaktır. Öğrenciler, gerçek dünya problemlerini sınıf, nesne, kalıtım ve çok biçimlilik gibi kavramları kullanarak modellemeyi; sürdürülebilir, yeniden kullanılabilir ve bakımı kolay yazılım bileşenleri geliştirmeyi öğreneceklerdir.


Dr. Öğr. Üyesi Gülsüm ŞANAL


1 Nesne yönelimli programlamanın temel kavramlarını (sınıf, nesne, kapsülleme, kalıtım, çok biçimlilik vb.) açıklar.
2 Verilen bir problem senaryosunu analiz ederek, sınıf ve nesne temelli bir model tasarlar.
3 Kapsülleme, kalıtım ve çok biçimlilik ilkelerini kullanarak yeniden kullanılabilir ve bakımı kolay kod yazar.
4 Soyut sınıflar ve arayüzler ile katmanlı ve genişletilebilir yazılım tasarımları oluşturur.
5 İstisna yönetimi ve koleksiyon sınıflarını kullanarak güvenilir ve hatalara dayanıklı uygulamalar geliştirir.
6 Bir tümleşik geliştirme ortamında (IDE) derleme, hata ayıklama ve temel test süreçlerini uygular.
7 Küçük ölçekli bir nesne yönelimli yazılım projesini bireysel veya takım hâlinde tasarlar, geliştirir ve dokümante eder.
8 Kod yazarken kodlama standartlarına, dokümantasyon ilkelerine ve akademik dürüstlük kurallarına uygun davranır.

Birinci Öğretim


Bu ders, öğrencilerin temel programlama kavramlarına hâkim olduğunu varsayar. Ön koşul ders: Yapısal Programlama / Programlamaya Giriş (veya eşdeğeri). Öğrencilerin özellikle aşağıdaki konuları biliyor olması beklenir: • Temel veri türleri ve ifadeler • Seçim ve döngü yapıları • Diziler ve temel koleksiyonlar • Fonksiyonlar / metotlar ve temel hata ayıklama


• Öğrencilerin derse düzenli devam etmeleri ve her hafta verilen örnekleri geliştirme ortamında (IDE) birebir denemeleri beklenir. • Haftalık laboratuvar uygulamalarına aktif katılım, döneme yayılan öğrenme için kritik öneme sahiptir. • Öğrencilere, sürüm kontrol sistemleri (ör. Git) ve temel kod dokümantasyonu (yorum satırları, basit dokümanlar) kullanmaları tavsiye edilir. • Akademik dürüstlük ilkelerine kesinlikle uyulmalı; projelerde bireysel emek ve katkı açıkça belirtilmelidir. • Öğrencilerin, derste kullanılan programlama dilinin (ör. Java / C# / Python) resmî dokümantasyonuna düzenli olarak başvurmaları önerilir.


Ders kapsamında aşağıdaki konular ele alınır: • Nesne yönelimli programlamaya giriş, temel kavramlar • Sınıflar ve nesneler, özellikler (fields) ve metotlar (methods) • Kapsülleme (encapsulation) ve bilgi gizleme • Oluşturucular (constructors) ve nesne yaşam döngüsü • Statik üyeler ve yardımcı sınıflar • İlişkiler: birliktelik (association), bileşim (composition), kalıtım (inheritance) • Çok biçimlilik (polymorphism) ve geç bağlılık (late binding) • Arayüzler (interfaces) ve soyut sınıflar (abstract classes) • İstisna yönetimi (exception handling) • Temel koleksiyon sınıfları ve yineleyiciler • Nesne yönelimli tasarım ilkeleri (SOLID vb.) • Basit katmanlı mimari ve küçük ölçekli OOP proje geliştirme


Hafta Teorik Uygulama [OgretimYontemVeTeknikleri] [OnHazirlik]
1 Nesneye yönelik programlama ile ilgili genel tanımlar.
2 Nesne yönelimli çözümleme ve tasarım
3 Veri tipleri, değişkenler, diziler
4 Operatörler
5 Döngüler
6 Sınıf kavramı
7 Nesne kavramı
8 Ara Sınav
9 Kurucu metotlar ve nesne referansları
10 Erişim seviyeleri (public, private, protected)
11 Kalıtım (Miras) ve super deyimi
12 Arayüzler
13 Soyut Sınıflar
14 Hata Yakalama
15 Final Sınavı

• Bölüm tarafından belirlenen “Programlama Dilleri / Nesne Yönelimli Programlama” ders notları ve öğretim elemanı sunumları. • Ders boyunca sunulan örnek kodlar, laboratuvar yönergeleri ve proje dokümanları (LMS / Öğrenme Yönetim Sistemi üzerinden paylaşılacaktır). • Object-Oriented Programming in Java • Head First Object-Oriented Analysis and Design – Brett McLaughlin, Gary Pollice, David West.


Bu derste aşağıdaki etkinlik ve yöntemler planlanmaktadır: • Kuramsal ders anlatımı: Temel kavramlar ve kuramsal çerçeve, tahtada ve/veya sunum eşliğinde anlatılır. • Laboratuvar uygulamaları: Bilgisayar laboratuvarında, örnek programlar adım adım geliştirilir, hata ayıklama ve test çalışmaları yapılır. • Uygulamalı örnek çözümü: Gerçek hayattan senaryolar nesne yönelimli olarak modellenir, sınıf diyagramları ve kod örnekleri birlikte tartışılır. • Dönem projesi / mini projeler: Öğrenciler bireysel veya küçük gruplar hâlinde, nesne yönelimli prensipleri kullanarak küçük ölçekli bir yazılım projesi geliştirirler. • Sınıf içi tartışma ve geri bildirim: Tasarım tercihleri, kod kalitesi, yeniden kullanılabilirlik ve bakım kolaylığı üzerine kısa tartışmalar yürütülür; öğretim elemanı ve akran geribildirimi sağlanır.


Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 100
Toplam 100
Yarıyıl (Yıl) Sonu Etkinlikleri Adet Değer
Rapor Sunma 1 30
Proje Sunma 1 30
Proje Tasarımı/Yönetimi 1 40
Toplam 100
Yarıyıl (Yıl) İçi Etkinlikleri 40
Yarıyıl (Yıl) Sonu Etkinlikleri 60

Yok.


Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ara Sınav 1 1 1
Final Sınavı 1 1 1
Derse Katılım 14 2 28
Bireysel Çalışma 14 2 28
Ara Sınav İçin Bireysel Çalışma 1 30 30
Final Sınavı içiin Bireysel Çalışma 1 38 38
Toplam İş Yükü (saat) 126

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11 PÇ 12 PÇ 13 PÇ 14 PÇ 15
ÖÇ 1 5 3 4 3 3 5 5 4 3 3 4 4 4 3 4
ÖÇ 2 1 5 2 1 1 4 4 3 3 2 3 3 3 2 4
ÖÇ 3 1 2 3 3 4 4 4 3 4 5 5 4 4 3 4
ÖÇ 4 1 3 1 1 1 2 2 1 2 2 3 5 5 1 3
ÖÇ 5 1 1 2 2 3 2 2 1 2 2 2 2 2 5 3
ÖÇ 6 1 1 3 3 4 3 3 3 3 3 3 3 3 4 3
ÖÇ 7 1 2 2 1 2 3 3 2 3 3 3 3 3 3 3
ÖÇ 8 2 1 1 1 1 2 2 2 2 4 2 2 2 3 3
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek