DERSİN GENEL BİLGİLERİ

Ders Kodu Ders Adı Yıl Yarıyıl Teorik Pratik Kredi AKTS
50613METOZ-BLP0192 Nesne Tabanlı Programlama 1 Bahar 2 1 3 4
Dersin Türü: Zorunlu
Dersin Düzeyi: Önlisans      TYYÇ:5. Düzey      QF-EHEA:Kısa Düzey      EQF-LLL:5. 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)ı:



Dersin Kategorisi: Mesleki Alan

BÖLÜM II: DERSİN TANITIMI

Dersin Amacı ve İçeriği

Dersin Amacı: Bu ders, nesne tabanlı programlama (OOP) paradigmasını kavratmayı ve öğrencilere Java programlama dili kullanarak nesne yönelimli yazılım geliştirme becerileri kazandırmayı amaçlamaktadır. Öğrenciler, nesne, sınıf, kalıtım, çok biçimlilik, soyutlama ve enkapsülasyon gibi temel OOP kavramlarını öğrenerek modüler, yeniden kullanılabilir ve sürdürülebilir yazılım geliştirme yetkinliği kazanırlar.
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.

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) Nesneye yönelik programlamanın temel ilkelerini tanımlar.
  2) Kalıtım, çok biçimlilik, soyutlama ve kapsüllemenin temellerini öğrenir.
Beceriler (Bilişsel ve/veya uygulama becerileri olarak tanımlanmıştır.)
  1) Programlama için gerekli yazılım kurulumlarını yapar.
  2) Programlama dilinin temel kodları ile uygulama hazırlar.
  3) Programlama dilinde fonksiyon kullanarak uygulama hazırlar.
  4) Modüler ve yönetimi kolay bir yaklaşımla programlama projelerini tasarlar.
Yetkinlikler ("Bağımsız Çalışabilme", "Sorumluluk Alabilme", "Öğrenme", "İletişim ve Sosyal" ve "Alana Özgü" yetkinlikler olarak tanımlanmıştır.)

Haftalık Ders Planı

Hafta Konu
Materyal Paylaşımı *
Ön Hazırlık Pekiştirme
1) Nesne tabanlı programlama için yazılım kurarak ayarlarını yapmak Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
2) Temel veri türleri ve değişkenler Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
3) Karakter dizileri ve karakter işlemleri Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
4) Karar kontrol deyimleri Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
5) Döngü kontrol deyimleri Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
6) Liste, Demet, Sözlük, Küme İşlemleri Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
7) Standart fonksiyonlar, kullanıcı tanımlı fonksiyonlar Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
8) Ara sınav
9) Standart modüller, kullanıcı tanımlı modüller Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
10) Hata yakalama ve hata yönetimi Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
11) Dosyalar ile çalışmak ve dosya işlemleri Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
12) Python ile nesne tabanlı programlama Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
13) Sınıf, üyelerin tanımlanması ve kullanımı Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
14) Kalıtım, geçersiz kılma, aşırı yükleme kavramlarının tanımı Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
15) Kalıtım, geçersiz kılma, aşırı yükleme kavramları ile ilgili örnek uygulamalar Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
16) Yarıyıl sonu sınavı
*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: Bülent Çobanoğlu, 2020; Java İle Programlama ve Veri Yapıları, 1.Baskı, Pusula Yayıncılık
Diğer Kaynaklar: Bülent Çobanoğlu, 2020; Java İle Programlama ve Veri Yapıları, 1.Baskı, Pusula Yayıncılık
Prof. Dr. Timur Karaçay,2020,Java ile Programlama, Seçkin Yayıncılık

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) Programlama dillerinin temel yapılarını ve algoritmaları kullanarak yazılım geliştirme becerisi kazanır.
2) Nesne yönelimli programlama ilkelerini kullanarak fonksiyonel ve sürdürülebilir yazılımlar geliştirir. 5
3) Veri tabanı tasarımı ve yönetimini etkin bir şekilde gerçekleştirir, SQL sorguları yazar ve uygular. 5
4) Web teknolojileri ve internet programlama araçları kullanarak dinamik ve kullanıcı dostu web uygulamaları tasarlar. 5
5) Veri tabanı tasarımı ve yönetimini etkin bir şekilde gerçekleştirir, SQL sorguları yazar ve uygular.
6) Mesleki etik ilkelere uygun olarak yazılım geliştirme süreçlerini yönetir.
7) Yapay zeka temelleri ve Python programlama bilgisiyle yazılım projelerinde basit yapay zeka uygulamaları geliştirir.
8) Veri güvenliği ilkelerine uygun olarak veritabanı koruma ve savunma yöntemleri uygular.
9) Mobil uygulama geliştirme süreçlerini kavrayarak temel düzeyde mobil uygulamalar geliştirir.
10) Kullanıcı ihtiyaçlarını analiz ederek uygun yazılım çözümleri tasarlar ve uygular. 5
11) Ağ yapıları ve protokollerini kullanarak temel ağ kurulum ve yönetim işlemlerini gerçekleştirir.
12) Görsel ve kullanıcı odaklı arayüz tasarım ilkelerini kullanarak işlevsel ve estetik yazılım uygulamaları geliştirir.

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
Laboratuvar
Ödev
Proje Hazırlama

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ı
Kısa Sınav
Ödev Değerlendirme
Uygulama Sınavı

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ı
Kısa Sınavlar 2 % 10.00
Projeler 1 % 30.00
Ara Sınavlar 1 % 10.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 0 0 0
Laboratuvar 14 4 56
Uygulama 0 0 0
Derse Özgü Staj 0 0 0
Arazi Çalışması 0 0 0
Sınıf Dışı Ders Çalışması 0 0 0
Sunum / Seminer 0 0 0
Proje 0 0 0
Ödevler 1 10 10
Öğrenme ve Öğretme Etkinlikleri Toplam İş Yükü - - 66
Ö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 2 10 20
Ara Sınavlar 1 12 12
Yarıyıl Sonu Sınavı 1 15 15
Ölçme ve Değerlendirme Etkinlikleri Toplam İş Yükü - - 47
TOPLAM İŞ YÜKÜ (Öğrenme ve Öğretme + Ölçme ve Değerlendirme Etkinlikleri) 113
DERSİN AKTS KREDİSİ (Toplam İş Yükü/25.5 Saat) 4