Ana içeriğe atla

Ders Detayı

Ders Tanımı

DersKoduYarıyılT+U SaatKrediAKTS
NESNE TABANLI PROGRAMLAMA -Bahar Dönemi3+034
Ders Programı
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüZorunlu
Dersin KoordinatörüDr.Öğr.Üye. Kevser ŞAHİNBAŞ
Dersi VerenlerDr.Öğr.Üye. Turhan KARAGÜLER
Dersin Yardımcıları
Dersin AmacıBu dersin amacı, öğrencilere BT projelerinde uygulayabilecekleri şekilde nesne tabanlı programlama ilkelerini kavratmaktır.
Dersin İçeriğiBu ders; Nesne yönelimli diller: yapılandırılmış programlama, prosedürel programlama ,Soyut veri tipleri, kapsülleme ,Yazılı ve yazılmamış diller, Kuplaj ve uyum ,Kapsülleme. Sınıflar ve nesneler. Sınıf üyeleri: Veri üyeleri (alanlar) ve üye işlevleri (yöntemler). Sınıf üyesi görünürlüğü (özel, genel, korumalı). Sınıf değişkenleri ve örnek değişkenler. Sınıf yöntemleri ve örnek yöntemleri. Servis yöntemleri ve destek yöntemleri. ,Sınıf hiyerarşileri. Tek ve çoklu kalıtım. Sınıflar arası ilişkiler. ,Bellek yönetimi. Çöp toplama. Yöntemler ve mesajlar. Yöntem imzaları. Metot ve operatör aşırı yüklenmesi. Yöntem geçersiz kılma. Soyut sınıflar. Dinamik (geç) bağlanma. Polimorfizm. Yazılım yeniden. Alt sınıflar (türetilmiş sınıflar). Süper sınıflar (temel sınıflar). Süper sınıf metotları ve yapıcıların istilası. ,Nesneler ve değişkenler. Sınıflar vs türleri. delegasyon , Koleksiyon sınıfları. Sınıf kütüphaneleri. ,Birleşik Modelleme Dili (UML). Durum şemaları kullanımı: aktörler, sistem sınırları, --uses -- ve --extends -- ,Senaryolar. Sınıf diyagramları: ilişkilendirmeler, toplama, bağımlılık ve miras. Nesne etkileşim diyagramları, nesne durum geçiş diyagramları. ,Nesne kısıtlama dili (OCL): ,Tasarım desenleri. Desen dokümantasyonu: motivasyon, ön koşullar, yapılar, katılımcılar ve sonuçları. Desen örnekleri: Adaptör, Dekoratör, Yineleyici, Gözlemci, Singleton ,Sınıf içi örnek ve proje önerisi ,Nesne yönelimli programlama dilinde tasarımların uygulanması ,nesne yönelimli kod sınama. Sınıf testleri, sınıf testleri inşası OCL veya durum geçiş diyagramları, test sürücüsü yapımı. Test etkileşimleri ve sınıf hiyerarşileri ; konularını içermektedir.
Dersin Öğrenme KazanımlarıÖğretim YöntemleriÖlçme Yöntemleri
1. Eclipse'i Entegre Geliştirme Ortamı olarak kullanabilecektir. 16, 6, 9A
1.1. Eclipse hakkında yeterli bilgi edinir. 6, 9A
1.2. Eclipsi niçin ve nasıl kullanacağını bilerek kullanır. 16, 6A
2. Okunabilir kod yazmak için standartları ve ilkeleri uygulayabilecektir. 6, 9A
2.1. Okunabilir kodları tanımlar. 6, 9A
2.2. Okunabilir kodlar için standart ve ilkelerin ne olduğunu bilir ve uygulamalarında bu standart ve ilkelere uyar. 6, 9A
3. Verilen bir problem için sınıf diyagramları, nesne etkileşim diyagramları ve nesne durum geçiş diyagramları üretebilecektir. 6, 9A
3.1. Verilen bir problem için sınıf diyagramları üretir. 6, 9A
3.2. Verilen bir problem için nesne etkileşim diyagramları üretir. 6, 9A
3.3. Verilen bir problem için nesne durum geçiş diyagramları üretir. 6A
4. Nesne yönelimli programlama dilinin temel özelliklerini tanımlayabilecektir. 6, 9A
4.1. Nesne yönelimli programlama dilinin ana prensiplerini tanımlar. 6A
4.2. Nesne yönelimli programlama dilinin kolaylaştırıcı tarafını uygular 6, 9A
5. Nesne yönelimli yazılım geliştirme prensiplerini gösteren kod parçalarını üretip, hata ayıklayabilecektir. 6, 9A
5.1. Kod parçalarını nesne yönelimli yazılım geliştirme prensiplerine göre üretir. 6, 9A
5.2. Nesne yönelimli yazılım geliştirme prensiplerine göre hataları ayıklar. 6, 9A
6. java.io kütüphanesini kullanarak girdi ve çıktı temellerini tanımlayabilecektir. 16, 6, 9A
6.1. Java.io kütüphanesini efektif olarak kullanır. 6, 9A
6.2. Girdi ve çıktı temellerini tanımlar. 6A
7. Nesne yönelimli tasarım, polimorfizm, bilgi saklaması ve miras kavramlarını tanımlayabilecektir. 16, 6, 9A
7.1. Nesne yönelimli tasarım kavramını tanımlar.6A
7.2. Nesne yönelimli polimorfizm kavramını tanımlar. 6, 9A
7.3. Nesne yönelimli bilgi saklaması kavramlarını tanımlar. 6A
7.4. Nesne yönelimli miras kavramını tanımlar. 6A
Öğretim Yöntemleri:16: Soru - Cevap Tekniği , 6: Deneyimle Öğrenme Modeli, 9: Anlatım Yöntemi
Ölçme Yöntemleri:A: Klasik Yazılı Sınav

Ders Akışı

SıraKonularÖn Hazırlık
1Nesne yönelimli diller: yapılandırılmış programlama, prosedürel programlama
2Soyut veri tipleri, kapsülleme
3Yazılı ve yazılmamış diller, Kuplaj ve uyum
4Kapsülleme. Sınıflar ve nesneler. Sınıf üyeleri: Veri üyeleri (alanlar) ve üye işlevleri (yöntemler). Sınıf üyesi görünürlüğü (özel, genel, korumalı). Sınıf değişkenleri ve örnek değişkenler. Sınıf yöntemleri ve örnek yöntemleri. Servis yöntemleri ve destek yöntemleri.
5Sınıf hiyerarşileri. Tek ve çoklu kalıtım. Sınıflar arası ilişkiler.
6Bellek yönetimi. Çöp toplama. Yöntemler ve mesajlar. Yöntem imzaları. Metot ve operatör aşırı yüklenmesi. Yöntem geçersiz kılma. Soyut sınıflar. Dinamik (geç) bağlanma. Polimorfizm. Yazılım yeniden. Alt sınıflar (türetilmiş sınıflar). Süper sınıflar (temel sınıflar). Süper sınıf metotları ve yapıcıların istilası.
7Nesneler ve değişkenler. Sınıflar vs türleri. delegasyon , Koleksiyon sınıfları. Sınıf kütüphaneleri.
8Birleşik Modelleme Dili (UML). Durum şemaları kullanımı: aktörler, sistem sınırları, --uses -- ve --extends --
9Senaryolar. Sınıf diyagramları: ilişkilendirmeler, toplama, bağımlılık ve miras. Nesne etkileşim diyagramları, nesne durum geçiş diyagramları.
10Nesne kısıtlama dili (OCL):
11Tasarım desenleri. Desen dokümantasyonu: motivasyon, ön koşullar, yapılar, katılımcılar ve sonuçları. Desen örnekleri: Adaptör, Dekoratör, Yineleyici, Gözlemci, Singleton
12Sınıf içi örnek ve proje önerisi
13Nesne yönelimli programlama dilinde tasarımların uygulanması
14nesne yönelimli kod sınama. Sınıf testleri, sınıf testleri inşası OCL veya durum geçiş diyagramları, test sürücüsü yapımı. Test etkileşimleri ve sınıf hiyerarşileri
Kaynak
Pearson Platform (my programming lab will be used as the main platform for e-text and exercises): Introduction to Java Programming and Data Structures –Y. Daniel Liang, Twelfth Edition, Pearson (https://mlm.pearson.com/northamerica/myprogramminglab/ )
Reading list: 1. Java How to Program, Deitel & Deitel, Prentice Hall, 9th Edition, 2012 2. Thinking in java, Bruce Eckel, Prentice Hall, 4th edition 2006 3. Java 2 The Complete Reference, Herbert Schildt, McGraw Hill, 7th Ed.2007 4. Java programming: A beginners Guide to learning Java, step by step. By Troy Dimes 2015 5. Java: A beginner’s Guide. By Herbert Schildt 2014 6. Head First Java, 2nd Edition By Katy Sierra and Bert Bates 2005 7. Learning Java 4th edition By Patrick Niemeyer, Daniel Leuck. Publisher: O'Reilly Media, 2013 8. Java object oriented language, M. Smith, McGraw Hill 1999. 9. An Introduction to object programming with Java, McGraw Hill, 5th Ed.1999

Dersin Program Yeterliliklerine Katkısı

Dersin Program Yeterliliklerine Katkısı
NoProgram Yeterliliği Katkı Düzeyi
12345
1
Bilişim ve yönetim alanında teorik bilgileri tanımlar.
X
2
Bilişim ve yönetim alanında gerekli matematiksel ve istatistiki yöntemleri anlatır.
X
3
Bilişim ve yönetim alanında gerekli en az bir bilgisayar programı kullanır.
X
4
Bilişim ve yönetim alanında gerekli olan mesleki yabancı dil yeterliliğini gösterir.
X
5
Bilişim projeleri hazırlar ve takım çalışmalarını yönetir.
X
6
Mesleki alanda yaşam boyu öğrenmenin gerekliliği bilinciyle bilim ve teknolojideki gelişmeleri izleyerek kendini sürekli yenileyip edindiği bilgi ve becerileri eleştirel olarak değerlendirilir.
X
7
Bilişim ve yönetim alanında teorik ve uygulamaya yönelik bilgileri kullanır.
X
8
En az A1 düzeyinde bir yabancı dili kullanarak güncel teknolojileri takip eder, sözlü / yazılı iletişim kurar.
X
9
Örgüt / kurumsal, iş ve toplumsal etik değerlerini benimser ve kullanır.
10
Topluma hizmet duyarlılığı çerçevesinde, sosyal sorumluluk ilkelerini benimser ve gerektiğinde inisiyatif alır.
11
Disiplinler arası çalışmalar yürütebilmek için farklı disiplinlerde (ekonomi, finans, sosyoloji, hukuk, işletme) temel bilgileri ve verileri analiz ederek alanında kullanır.
X
12
Masaüstü, mobil, web gibi farklı platform yazılımlarını tek başına ve/veya bir ekip içerisinde yazar.
X

Değerlendirme Sistemi

Katkı DüzeyiMutlak Değerlendirme
Ara Sınavın Başarıya Oranı 40
Genel Sınavın Başarıya Oranı 60
Toplam 100
AKTS / İşyükü Tablosu
EtkinlikSayıSüresi (Saat)Toplam İş Yükü (Saat)
Ders Saati000
Rehberli Problem Çözme000
Problem Çözümü / Ödev / Proje / Rapor Tanzimi000
Okul Dışı Diğer Faaliyetler000
Proje Sunumu / Seminer000
Kısa Sınav (QUİZ) ve Hazırlığı000
Ara Sınav ve Hazırlığı000
Genel Sınav ve Hazırlığı000
Performans Görevi, Bakım Planı000
Toplam İş Yükü (Saat)0
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(0/30)0
Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır.

Dersin Detaylı Bilgileri

Ders Tanımı

DersKoduYarıyılT+U SaatKrediAKTS
NESNE TABANLI PROGRAMLAMA -Bahar Dönemi3+034
Ders Programı
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüZorunlu
Dersin KoordinatörüDr.Öğr.Üye. Kevser ŞAHİNBAŞ
Dersi VerenlerDr.Öğr.Üye. Turhan KARAGÜLER
Dersin Yardımcıları
Dersin AmacıBu dersin amacı, öğrencilere BT projelerinde uygulayabilecekleri şekilde nesne tabanlı programlama ilkelerini kavratmaktır.
Dersin İçeriğiBu ders; Nesne yönelimli diller: yapılandırılmış programlama, prosedürel programlama ,Soyut veri tipleri, kapsülleme ,Yazılı ve yazılmamış diller, Kuplaj ve uyum ,Kapsülleme. Sınıflar ve nesneler. Sınıf üyeleri: Veri üyeleri (alanlar) ve üye işlevleri (yöntemler). Sınıf üyesi görünürlüğü (özel, genel, korumalı). Sınıf değişkenleri ve örnek değişkenler. Sınıf yöntemleri ve örnek yöntemleri. Servis yöntemleri ve destek yöntemleri. ,Sınıf hiyerarşileri. Tek ve çoklu kalıtım. Sınıflar arası ilişkiler. ,Bellek yönetimi. Çöp toplama. Yöntemler ve mesajlar. Yöntem imzaları. Metot ve operatör aşırı yüklenmesi. Yöntem geçersiz kılma. Soyut sınıflar. Dinamik (geç) bağlanma. Polimorfizm. Yazılım yeniden. Alt sınıflar (türetilmiş sınıflar). Süper sınıflar (temel sınıflar). Süper sınıf metotları ve yapıcıların istilası. ,Nesneler ve değişkenler. Sınıflar vs türleri. delegasyon , Koleksiyon sınıfları. Sınıf kütüphaneleri. ,Birleşik Modelleme Dili (UML). Durum şemaları kullanımı: aktörler, sistem sınırları, --uses -- ve --extends -- ,Senaryolar. Sınıf diyagramları: ilişkilendirmeler, toplama, bağımlılık ve miras. Nesne etkileşim diyagramları, nesne durum geçiş diyagramları. ,Nesne kısıtlama dili (OCL): ,Tasarım desenleri. Desen dokümantasyonu: motivasyon, ön koşullar, yapılar, katılımcılar ve sonuçları. Desen örnekleri: Adaptör, Dekoratör, Yineleyici, Gözlemci, Singleton ,Sınıf içi örnek ve proje önerisi ,Nesne yönelimli programlama dilinde tasarımların uygulanması ,nesne yönelimli kod sınama. Sınıf testleri, sınıf testleri inşası OCL veya durum geçiş diyagramları, test sürücüsü yapımı. Test etkileşimleri ve sınıf hiyerarşileri ; konularını içermektedir.
Dersin Öğrenme KazanımlarıÖğretim YöntemleriÖlçme Yöntemleri
1. Eclipse'i Entegre Geliştirme Ortamı olarak kullanabilecektir. 16, 6, 9A
1.1. Eclipse hakkında yeterli bilgi edinir. 6, 9A
1.2. Eclipsi niçin ve nasıl kullanacağını bilerek kullanır. 16, 6A
2. Okunabilir kod yazmak için standartları ve ilkeleri uygulayabilecektir. 6, 9A
2.1. Okunabilir kodları tanımlar. 6, 9A
2.2. Okunabilir kodlar için standart ve ilkelerin ne olduğunu bilir ve uygulamalarında bu standart ve ilkelere uyar. 6, 9A
3. Verilen bir problem için sınıf diyagramları, nesne etkileşim diyagramları ve nesne durum geçiş diyagramları üretebilecektir. 6, 9A
3.1. Verilen bir problem için sınıf diyagramları üretir. 6, 9A
3.2. Verilen bir problem için nesne etkileşim diyagramları üretir. 6, 9A
3.3. Verilen bir problem için nesne durum geçiş diyagramları üretir. 6A
4. Nesne yönelimli programlama dilinin temel özelliklerini tanımlayabilecektir. 6, 9A
4.1. Nesne yönelimli programlama dilinin ana prensiplerini tanımlar. 6A
4.2. Nesne yönelimli programlama dilinin kolaylaştırıcı tarafını uygular 6, 9A
5. Nesne yönelimli yazılım geliştirme prensiplerini gösteren kod parçalarını üretip, hata ayıklayabilecektir. 6, 9A
5.1. Kod parçalarını nesne yönelimli yazılım geliştirme prensiplerine göre üretir. 6, 9A
5.2. Nesne yönelimli yazılım geliştirme prensiplerine göre hataları ayıklar. 6, 9A
6. java.io kütüphanesini kullanarak girdi ve çıktı temellerini tanımlayabilecektir. 16, 6, 9A
6.1. Java.io kütüphanesini efektif olarak kullanır. 6, 9A
6.2. Girdi ve çıktı temellerini tanımlar. 6A
7. Nesne yönelimli tasarım, polimorfizm, bilgi saklaması ve miras kavramlarını tanımlayabilecektir. 16, 6, 9A
7.1. Nesne yönelimli tasarım kavramını tanımlar.6A
7.2. Nesne yönelimli polimorfizm kavramını tanımlar. 6, 9A
7.3. Nesne yönelimli bilgi saklaması kavramlarını tanımlar. 6A
7.4. Nesne yönelimli miras kavramını tanımlar. 6A
Öğretim Yöntemleri:16: Soru - Cevap Tekniği , 6: Deneyimle Öğrenme Modeli, 9: Anlatım Yöntemi
Ölçme Yöntemleri:A: Klasik Yazılı Sınav

Ders Akışı

SıraKonularÖn Hazırlık
1Nesne yönelimli diller: yapılandırılmış programlama, prosedürel programlama
2Soyut veri tipleri, kapsülleme
3Yazılı ve yazılmamış diller, Kuplaj ve uyum
4Kapsülleme. Sınıflar ve nesneler. Sınıf üyeleri: Veri üyeleri (alanlar) ve üye işlevleri (yöntemler). Sınıf üyesi görünürlüğü (özel, genel, korumalı). Sınıf değişkenleri ve örnek değişkenler. Sınıf yöntemleri ve örnek yöntemleri. Servis yöntemleri ve destek yöntemleri.
5Sınıf hiyerarşileri. Tek ve çoklu kalıtım. Sınıflar arası ilişkiler.
6Bellek yönetimi. Çöp toplama. Yöntemler ve mesajlar. Yöntem imzaları. Metot ve operatör aşırı yüklenmesi. Yöntem geçersiz kılma. Soyut sınıflar. Dinamik (geç) bağlanma. Polimorfizm. Yazılım yeniden. Alt sınıflar (türetilmiş sınıflar). Süper sınıflar (temel sınıflar). Süper sınıf metotları ve yapıcıların istilası.
7Nesneler ve değişkenler. Sınıflar vs türleri. delegasyon , Koleksiyon sınıfları. Sınıf kütüphaneleri.
8Birleşik Modelleme Dili (UML). Durum şemaları kullanımı: aktörler, sistem sınırları, --uses -- ve --extends --
9Senaryolar. Sınıf diyagramları: ilişkilendirmeler, toplama, bağımlılık ve miras. Nesne etkileşim diyagramları, nesne durum geçiş diyagramları.
10Nesne kısıtlama dili (OCL):
11Tasarım desenleri. Desen dokümantasyonu: motivasyon, ön koşullar, yapılar, katılımcılar ve sonuçları. Desen örnekleri: Adaptör, Dekoratör, Yineleyici, Gözlemci, Singleton
12Sınıf içi örnek ve proje önerisi
13Nesne yönelimli programlama dilinde tasarımların uygulanması
14nesne yönelimli kod sınama. Sınıf testleri, sınıf testleri inşası OCL veya durum geçiş diyagramları, test sürücüsü yapımı. Test etkileşimleri ve sınıf hiyerarşileri
Kaynak
Pearson Platform (my programming lab will be used as the main platform for e-text and exercises): Introduction to Java Programming and Data Structures –Y. Daniel Liang, Twelfth Edition, Pearson (https://mlm.pearson.com/northamerica/myprogramminglab/ )
Reading list: 1. Java How to Program, Deitel & Deitel, Prentice Hall, 9th Edition, 2012 2. Thinking in java, Bruce Eckel, Prentice Hall, 4th edition 2006 3. Java 2 The Complete Reference, Herbert Schildt, McGraw Hill, 7th Ed.2007 4. Java programming: A beginners Guide to learning Java, step by step. By Troy Dimes 2015 5. Java: A beginner’s Guide. By Herbert Schildt 2014 6. Head First Java, 2nd Edition By Katy Sierra and Bert Bates 2005 7. Learning Java 4th edition By Patrick Niemeyer, Daniel Leuck. Publisher: O'Reilly Media, 2013 8. Java object oriented language, M. Smith, McGraw Hill 1999. 9. An Introduction to object programming with Java, McGraw Hill, 5th Ed.1999

Dersin Program Yeterliliklerine Katkısı

Dersin Program Yeterliliklerine Katkısı
NoProgram Yeterliliği Katkı Düzeyi
12345
1
Bilişim ve yönetim alanında teorik bilgileri tanımlar.
X
2
Bilişim ve yönetim alanında gerekli matematiksel ve istatistiki yöntemleri anlatır.
X
3
Bilişim ve yönetim alanında gerekli en az bir bilgisayar programı kullanır.
X
4
Bilişim ve yönetim alanında gerekli olan mesleki yabancı dil yeterliliğini gösterir.
X
5
Bilişim projeleri hazırlar ve takım çalışmalarını yönetir.
X
6
Mesleki alanda yaşam boyu öğrenmenin gerekliliği bilinciyle bilim ve teknolojideki gelişmeleri izleyerek kendini sürekli yenileyip edindiği bilgi ve becerileri eleştirel olarak değerlendirilir.
X
7
Bilişim ve yönetim alanında teorik ve uygulamaya yönelik bilgileri kullanır.
X
8
En az A1 düzeyinde bir yabancı dili kullanarak güncel teknolojileri takip eder, sözlü / yazılı iletişim kurar.
X
9
Örgüt / kurumsal, iş ve toplumsal etik değerlerini benimser ve kullanır.
10
Topluma hizmet duyarlılığı çerçevesinde, sosyal sorumluluk ilkelerini benimser ve gerektiğinde inisiyatif alır.
11
Disiplinler arası çalışmalar yürütebilmek için farklı disiplinlerde (ekonomi, finans, sosyoloji, hukuk, işletme) temel bilgileri ve verileri analiz ederek alanında kullanır.
X
12
Masaüstü, mobil, web gibi farklı platform yazılımlarını tek başına ve/veya bir ekip içerisinde yazar.
X

Değerlendirme Sistemi

Katkı DüzeyiMutlak Değerlendirme
Ara Sınavın Başarıya Oranı 40
Genel Sınavın Başarıya Oranı 60
Toplam 100

Sayısal Veriler

Öğrenci Başarı Durumu

Ekleme Tarihi: 06/07/2022 - 15:10Son Güncelleme Tarihi: 06/07/2022 - 15:13