DERSİN GENEL BİLGİLERİ

Ders Kodu Ders Adı Yıl Yarıyıl Teorik Pratik Kredi AKTS
YZM6108 Nesne Yönelimli Programlama 1 Bahar 2 1 3 6
Dersin Türü: Zorunlu
Dersin Düzeyi: Lisans      TYYÇ:6. Düzey      QF-EHEA:1. Düzey      EQF-LLL:6. Düzey
Dersin Öğretim Dili: Turkish
Dersin Ön/Yan Koşulu: Yoktur
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Öğretim Görevlisi BUKET DÖNMEZ
Dersin Öğretim Eleman(lar)ı: Öğretim Görevlisi BUKET DÖNMEZ
Dersin Kategorisi: Temel Alan

BÖLÜM II: DERSİN TANITIMI

Dersin Amacı ve İçeriği

Dersin Amacı: Öğrencilerin Java’yı bir araç olarak kullanarak nesne yönelimli programlamanın (NYP/OOP) temel ilkelerini ve tasarım yaklaşımını kavramalarını; gerçekçi yazılım problemlerini analiz edip nesne yönelimli olarak modelleyerek (örn. UML ile) bakımı kolay, genişletilebilir ve yeniden kullanılabilir yazılımlar geliştirebilmelerini sağlamaktır. Ders kapsamında öğrenciler, temiz kod ve temel yazılım tasarım prensiplerini (örn. SOLID) uygulayacak, birim testleri ile çözümü doğrulayacak ve Git tabanlı sürüm kontrolü ile bireysel/ekip projesi geliştirerek modern yazılım geliştirme iş akışını (commit, branch, merge, pull request, code review) deneyimleyeceklerdir.
Dersin İçeriği: Bu derste, nesne tabanlı programlamanın (OOP) temel kavramları ve Java programlama dili ele alınmaktadır. Öğrenciler, sınıf ve nesne yapıları, kapsülleme, miras alma, çok biçimlilik ve soyutlama gibi kavramları öğrenerek nesne yönelimli yazılım geliştirme becerisi kazanırlar. Arayüzler ve soyut sınıflar kullanılarak kodun yeniden kullanılabilirliği artırılırken, istisna yönetimi ile hata kontrol mekanizmaları incelenir. Ayrıca, dosya işlemleri, giriş/çıkış (I/O) işlemleri ve Java koleksiyonları gibi konulara değinilerek veri yönetimi konusuna giriş yapılır. Ders kapsamında, OOP prensipleri doğrultusunda projeler geliştirilerek teorik bilgilerin uygulamaya dönüştürülmesi sağlanır.

Derse Özgü Kurallar

- Derse devam %70 zorunluluğunuz bulunmaktadır.
- Derse Devam Zorunluluğu: Öğrencilerin ders ve laboratuvar uygulamalarına düzenli katılımı beklenmektedir. Belirlenen devamsızlık sınırını aşan öğrenciler dersten başarısız sayılabilir.
- Zamanında Katılım: Ders ve uygulamalara zamanında gelmek, geç kalan öğrencilerin dersi bölmemesi için dikkatli olmaları gerekmektedir.
- Ders İçinde Dikkat ve Katılım: Ders sırasında dikkat dağıtıcı davranışlardan kaçınılmalı, ders anlatımı ve uygulamalara aktif katılım sağlanmalıdır.
- Ödev ve Projelerin Zamanında Teslimi: Verilen ödevler ve projeler belirtilen tarihlerde teslim edilmelidir. Geç teslim edilen ödevler değerlendirmeye alınmayabilir veya puan kaybına uğrayabilir.
- Kopya ve Akademik Dürüstlük: Kopya çekmek, başkasının ödevini/projesini aynen kopyalamak veya izinsiz kaynaklardan yararlanmak akademik etik ihlalidir ve disiplin kurallarına tabi olacaktır.
- Laboratuvar Kurallarına Uygunluk: Laboratuvar derslerinde gerekli düzeni sağlamak, bilgisayarları ve diğer ekipmanları ders dışı amaçlarla kullanmamak gerekmektedir.
- Sınav Kurallarına Uyum: Sınavlarda belirlenen kurallara uyulmalı, açıkça belirtilmedikçe herhangi bir dijital veya basılı materyal kullanılmamalıdır.
- Ders İçinde Teknoloji Kullanımı: Ders sırasında cep telefonu, tablet veya dizüstü bilgisayar gibi cihazlar yalnızca eğitim amacıyla kullanılabilir. Ders dışı kullanım yasaktır.
- Saygılı ve Etik Davranış: Ders ortamında öğretim elemanına ve diğer öğrencilere saygılı olunmalı, olumlu ve yapıcı bir öğrenme ortamı sağlanmalıdır.

Dersin Öğrenme Çıktıları (DÖÇ)

Ders Öğrenme Çıktıları (DÖÇ), dersi başarı ile tamamlayan öğrencilerin kendilerinden sahip olmaları beklenen bilgi, beceri ve yetkinlikleri ifade eder. Bu bağlamda, bu ders için tanımlanmış olan Ders Öğrenme Çıktıları aşağıda verilmektedir.
Bilgi (Kuramsal ve/veya olgusal bilgi olarak tanımlanmıştır.)
  1) Nesne tabanlı programlamanın temel ilkelerini (sınıf, nesne, kapsülleme, kalıtım, çok biçimlilik) açıklar ve örnek programlarla uygular.
  2) Kodun sürdürülebilirliğini artırmak için SOLID/temiz kod ilkelerini uygular, gerekli durumlarda refactoring yapar ve tasarım kararlarının etkisini değerlendirir.
Beceriler (Bilişsel ve/veya uygulama becerileri olarak tanımlanmıştır.)
  1) Soyutlama, kapsülleme, kalıtım ve çok biçimlilik ilkelerini uygun yerlerde seçerek uygular; kalıtım–bileşim tercihlerini gerekçelendirir.
  2) Java kullanarak nesne yönelimli tasarımı gerçekler; arayüz /soyut sınıf, erişim belirleyiciler, istisna yönetimi gibi mekanizmaları doğru biçimde kullanır ve çalışır bir program geliştirir.
Yetkinlikler ("Bağımsız Çalışabilme", "Sorumluluk Alabilme", "Öğrenme", "İletişim ve Sosyal" ve "Alana Özgü" yetkinlikler olarak tanımlanmıştır.)
  1) Geliştirdiği bileşenler için birim testleri yazar (örn. JUnit), hataları ayıkladıktan sonra düzeltir ve test sonuçlarına göre çözümü iyileştirir.
  2) Proje geliştirme sürecinde Git kullanarak sürüm kontrolü yürütür: anlamlı commit’ler atar, branch/merge yönetir, pull request ve code review adımlarıyla değişiklikleri yönetir ve çatışmaları çözer.
  3) Projesini ekip çalışmasına uygun biçimde dokümante eder ve sunar (README/JavaDoc/tasarım notları); takım içinde görev paylaşımı yaparak etkili iletişim ve iş birliği sergiler; temel profesyonel/etik kurallara (kaynak gösterme, lisans/fikri haklar, akademik dürüstlük) uyar.

Haftalık Ders Planı

Hafta Konu
Materyal Paylaşımı *
Ön Hazırlık Pekiştirme
1) Programlama paradigmalarına giriş: prosedürel programlama ve nesne tabanlı/nesne yönelimli programlama; temel kavramlar ve karşılaştırma. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
2) Mesajlar ve metotlar; sınıf ve nesne oluşumu; veri tipleri; bileşim (composition) ve soyutlama (abstraction) mekanizmalarına giriş. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
3) UML’ye giriş; kullanım durumu (Use Case) diyagramları; sınıf diyagramları; sıralama (Sequence) diyagramları; etkinlik (Activity) diyagramları ve örnek modelleme. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
4) Sınıf katmanları ve sınıf hiyerarşileri; kalıtım; metot–sınıf bağlamı; metot yükleme (overloading) ve metodu yeniden tanımlama (overriding). online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
5) Sarmalama (encapsulation); arayüz (interface) kavramı ve arayüz gerçekleştirme; statik değişkenler ve statik metotlar. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
6) Çoklu işlevler: çok biçimlilik (polymorphism) ve dinamik bağlama; soyutlama ile birlikte kullanım senaryoları. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
7) Nesne tabanlı tasarım: sorumlulukların belirlenmesi; bileşenlerin tanımlanması; sınıf sorumluluklarının ayrıştırılması ve tasarımın olgunlaştırılması. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
8) Ara Sınav. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
8) Ara Sınav. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
9) Dinamik bellek kullanımı; nesnelerin kopyalanması; kopyalama stratejileri ve klonlama (cloning) yaklaşımları. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
10) Statik ve dinamik davranış; genel yapılar (generics) ve tür güvenliği; tasarıma etkileri ve kullanım örnekleri. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
11) Nesne yaşam döngüsü: nesne oluşturma ve yok etme; kaynak yönetimi ve yaşam döngüsü yönetimi yaklaşımları. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
12) Sınıf yansıması (reflection): çalışma zamanında tür bilgisi; sınıf/metot/alan erişimi; kullanım alanları ve riskler. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
13) Sınıfların yüklenmesi: sınıf yükleyiciler (class loading); çalışma zamanı yükleme mantığı; modülerlik ve eklenti yaklaşımı. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
14) Sınıfların nesne olarak ele alınması: Class nesnesi kavramı; meta-programlama yaklaşımı; dönem sonu uygulama/örnekler. online.beykoz.edu.tr adresinde bulunan ders notları Materyal Materyal
*Bu alan öğrencilerin ders öncesi hazırlık ve sonrası dersi pekiştirme için paylaşılan ders materyallerini içerir.

Ders İçin Zorunlu/Önerilen Kaynaklar

Ders Notları / Kitaplar: online.beykoz.edu.tr paylaşılan ders notları
Design Patterns - Elements of Reusable Object-Oriented Software- Erich Gamma, John Vlissides, Ralph Johnson ve Richard Helm
Java: The Ultimate Beginner`s Guide to Learn Java Quickly With No Prior Experience (Computer Programming) Paperback – 21 Mar. 2023 Materyal
Diğer Kaynaklar: online.beykoz.edu.tr paylaşılan ders notları
Design Patterns - Elements of Reusable Object-Oriented Software- Erich Gamma, John Vlissides, Ralph Johnson ve Richard Helm
Java: The Ultimate Beginner`s Guide to Learn Java Quickly With No Prior Experience (Computer Programming) Paperback – 21 Mar. 2023 Materyal

DERS ÖĞRENME ÇIKTILARI - PROGRAM ÖĞRENME ÇIKTILARI İLİŞKİSİ

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Çıktıları (DÖÇ)

1

4

2

3

5

6

7

Program Öğrenme Çıktıları (PÖÇ)
1) Matematik, fen bilimleri, temel mühendislik ve yazılım mühendisliği disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.
2) Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını gözeterek tanımlama, formüle etme ve analiz becerisi.
3) Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi.
4) Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi.
5) Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi.
6) Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları kapsamında, topluma, sağlık ve güvenliğe, ekonomiye, sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.
7) Mühendislik meslek ilkelerine uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık.
8) Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi.
9) Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda sözlü, yazılı etkin iletişim kurma becerisi.
10) Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık.
11) Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi.

BÖLÜM III: DERSİN PROGRAM ÖĞRENME ÇIKTILARI İLE İLİŞKİSİ

Dersin Program Öğrenme Çıktılarına Katkı Düzeyi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Program Öğrenme Çıktıları Katkı Oranı (1-5)
1) Matematik, fen bilimleri, temel mühendislik ve yazılım mühendisliği disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. 3
2) Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını gözeterek tanımlama, formüle etme ve analiz becerisi. 3
3) Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi. 4
4) Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi. 5
5) Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi. 1
6) Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları kapsamında, topluma, sağlık ve güvenliğe, ekonomiye, sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.
7) Mühendislik meslek ilkelerine uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık. 2
8) Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi. 3
9) Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda sözlü, yazılı etkin iletişim kurma becerisi. 3
10) Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık. 2
11) Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi. 3

BÖLÜM IV: DERSİN ÖĞRENME VE ÖĞRETME YÖNTEMLERİ İLE ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİ

Dersin Öğrenme ve Öğretme Yöntemleri

(Üniversitemiz genelinde kullanılan tüm öğrenme ve öğretme yöntemleri sistematik olarak yönetilmektedir. Akademik birimlerden gelen talepler doğrultusunda bölüm/programların öğrenme ve öğretme yöntemleri ilgili kurullarımız tarafından değerlendirilmekte ve uygun bulunursa, üniversite havuzunda toplanmaktadır. Bölüm ve programlar, kendileri için program tasarımlarına uygun olan yöntemleri bu havuzdan seçebilmektedirler. Benzer şekilde, dersler için kullanılması uygun görülen yöntemler de programlar düzeyinde belirlenmiş olan yöntemler arasından seçilebilmektedir.)
Programa Genelinde Kullanılan Öğrenme ve Öğretme Yöntemleri
Ders İçin Kullanılan Öğrenme ve Öğretme Yöntemleri
Anlatım
Gösterip Yaptırma
Proje Hazırlama
Derse Aktif Katılım

Dersin Ölçme ve Değerlendirme Yöntemleri

(Üniversitemiz genelinde kullanılan tüm ölçme ve değerlendirme yöntemleri sistematik olarak yönetilmektedir. Akademik birimlerden gelen talepler doğrultusunda bölüm/programların ölçme ve değerlendirme yöntemleri ilgili kurullarımız tarafından değerlendirilmekte ve uygun bulunursa, üniversite havuzunda toplanmaktadır. Bölüm ve programlar, kendileri için program tasarımlarına uygun olan yöntemleri bu havuzdan seçebilmektedirler. Benzer şekilde, dersler için kullanılması uygun görülen yöntemler de programlar düzeyinde belirlenmiş olan yöntemler arasından seçilebilmektedir.)
Programa Genelinde Kullanılan Ölçme ve Değerlendirme Yöntemleri
Ders İçin Kullanılan Ölçme ve Değerlendirme Yöntemleri
Ara Sınav
Yarıyıl Sonu Sınavı
Ödev Değerlendirme

Dersin Ölçme ve Değerlendirme Yöntemlerinin Başarı Notuna Katkısı

Ölçme ve Değerlendirme Yöntemleri Uygulama Sayısı / Yarıyıl Katkı Oranı
Projeler 1 % 15.00
Ara Sınavlar 1 % 35.00
Yarıyıl Sonu Sınavı 1 % 50.00
Toplam % 100
YARIYIL İÇİ ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİNİN BAŞARI NOTUNA KATKI ORANI % 50
YARIYIL SONU SINAVININ BAŞARI NOTUNA KATKI ORANI % 50
Toplam % 100

BÖLÜM V: DERSİN İŞ YÜKÜ VE AKTS KREDİSİ

ÖĞRENME VE ÖĞRETME ETKİNLİKLERİ İŞ YÜKÜ
Öğrenme ve Öğretme Etkinlikleri Etkinlik Sayısı/Yarıyıl Süresi (saat) Toplam İş Yükü
Ders 14 1 14
Laboratuvar 14 2 28
Uygulama 5 4 20
Derse Özgü Staj 0 0 0
Arazi Çalışması 0 0 0
Sınıf Dışı Ders Çalışması 8 8 64
Sunum / Seminer 0 0 0
Proje 1 5 5
Ödevler 0 0 0
Öğrenme ve Öğretme Etkinlikleri Toplam İş Yükü - - 131
ÖLÇME VE DEĞERLENDİRME ETKİNLİKLERİ İŞ YÜKÜ
Ölçme ve Değerlendirme Etkinlikleri Etkinlik Sayısı/Yarıyıl Süresi (saat) Toplam İş Yükü
Kısa Sınav 0 0 0
Ara Sınavlar 1 10 10
Yarıyıl Sonu Sınavı 1 12 12
Ölçme ve Değerlendirme Etkinlikleri Toplam İş Yükü - - 22
TOPLAM İŞ YÜKÜ (Öğrenme ve Öğretme + Ölçme ve Değerlendirme Etkinlikleri) 153
DERSİN AKTS KREDİSİ (Toplam İş Yükü/25.5 Saat) 6