Ders Detayı
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
NESNE TABANLI PROGRAMLAMA | - | Bahar Dönemi | 3+0 | 3 | 4 |
Ders Programı |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler |
Dersin Dili | Türkçe |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Dr.Öğr.Üye. Kevser ŞAHİNBAŞ |
Dersi Verenler | Dr.Öğ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ği | Bu 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. kapsam,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. | 6 | A |
1.1. Eclipse hakkında yeterli bilgi edinir. | 6 | A |
1.2. Eclipsi niçin ve nasıl kullanacağını bilerek kullanır. | 6 | A |
2. Okunabilir kod yazmak için standartları ve ilkeleri uygulayabilecektir. | 6 | A |
2.1. Okunabilir kodları tanımlar. | 6 | A |
2.2. Okunabilir kodlar için standart ve ilkelerin ne olduğunu bilir ve uygulamalarında bu standart ve ilkelere uyar. | 6 | A |
3. Verilen bir problem için sınıf diyagramları, nesne etkileşim diyagramları ve nesne durum geçiş diyagramları üretebilecektir. | 14, 6 | A |
3.1. Verilen bir problem için sınıf diyagramları üretir. | 6 | A |
3.2. Verilen bir problem için nesne etkileşim diyagramları üretir. | 6 | A |
3.3. Verilen bir problem için nesne durum geçiş diyagramları üretir. | 6 | A |
4. Nesne yönelimli programlama dilinin temel özelliklerini tanımlayabilecektir. | 14, 6, 9 | A |
4.1. Nesne yönelimli programlama dilinin ana prensiplerini tanımlar. | 6 | A |
4.2. Nesne yönelimli programlama dilinin kolaylaştırıcı tarafını uygular | 6 | A |
5. Nesne yönelimli yazılım geliştirme prensiplerini gösteren kod parçalarını üretip, hata ayıklayabilecektir. | 6, 9 | A |
5.1. Kod parçalarını nesne yönelimli yazılım geliştirme prensiplerine göre üretir. | 6 | A |
5.2. Nesne yönelimli yazılım geliştirme prensiplerine göre hataları ayıklar. | 6 | A |
6. java.io kütüphanesini kullanarak girdi ve çıktı temellerini tanımlayabilecektir. | 6 | A |
6.1. Java.io kütüphanesini efektif olarak kullanır. | 6 | A |
6.2. Girdi ve çıktı temellerini tanımlar. | 6 | A |
7. Nesne yönelimli tasarım, polimorfizm, bilgi saklaması ve miras kavramlarını tanımlayabilecektir. | 14, 6 | A |
7.1. Nesne yönelimli tasarım kavramını tanımlar. | 6 | A |
7.2. Nesne yönelimli polimorfizm kavramını tanımlar. | 6 | A |
7.3. Nesne yönelimli bilgi saklaması kavramlarını tanımlar. | 6 | A |
7.4. Nesne yönelimli miras kavramını tanımlar. | 6 | A |
8. Nesne yönelimli yazılımı test etme prensiplerini tanımlayabilecektir. | 6 | A |
8.1. Nesne yönelimli yazılımı test eder. | 6 | A |
8.2. Test etme prensiplerini tanımlar. | 6 | F |
Öğretim Yöntemleri: | 14: Bireysel Çalışma Yöntemi, 6: Deneyimle Öğrenme Modeli, 9: Anlatım Yöntemi |
Ölçme Yöntemleri: | A: Klasik Yazılı Sınav, F: Proje Görevi |
Ders Akışı
Sıra | Konular | Ön Hazırlık |
---|---|---|
1 | Nesne yönelimli diller: yapılandırılmış programlama, prosedürel programlama | |
2 | Soyut veri tipleri, kapsülleme | |
3 | Yazılı ve yazılmamış diller, Kuplaj ve uyum | |
4 | 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. kapsam | |
5 | Sınıf hiyerarşileri. Tek ve çoklu kalıtım. Sınıflar arası ilişkiler. | |
6 | 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ı. | |
7 | Nesneler ve değişkenler. Sınıflar vs türleri. delegasyon , Koleksiyon sınıfları. Sınıf kütüphaneleri. | |
8 | Birleşik Modelleme Dili (UML). Durum şemaları kullanımı: aktörler, sistem sınırları, --uses -- ve --extends -- | |
9 | Senaryolar. Sınıf diyagramları: ilişkilendirmeler, toplama, bağımlılık ve miras. Nesne etkileşim diyagramları, nesne durum geçiş diyagramları. | |
10 | Nesne kısıtlama dili (OCL): | |
11 | 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 | |
12 | Sınıf içi örnek ve proje önerisi | |
13 | Nesne yönelimli programlama dilinde tasarımların uygulanması | |
14 | 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 |
Kaynak |
Java programlama dili yazılım tasarımı, Altıntaş, Altuğ Bilgin, 2014, Papatya Yayıncılık |
Okuma Listesi 1. Java ile programlama ve veri yapıları, Çobanoğlu, Bülent, 2016 2. Java : nesne yönelimli programlama, Aydın, Ali Orhan, 2012 3. Java ile programlama, Uysal, Mitat, 2013 4. Java How to Program, Deitel & Deitel, Prentice Hall, 9th Edition, 2012 5. Java programming: A beginners Guide to learning Java, step by step. By Troy Dimes 2015 6. Java: A beginner’s Guide. By Herbert Schildt 2014 7. Head First Java, 2nd Edition By Katy Sierra and Bert Bates 2005 |
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı | |||||||
No | Program Yeterliliği | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
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. | ||||||
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. | ||||||
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ğerlendirir. | ||||||
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. | ||||||
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. | ||||||
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üzeyi | Mutlak Değerlendirme | |
Ara Sınavın Başarıya Oranı | 50 | |
Genel Sınavın Başarıya Oranı | 50 | |
Toplam | 100 |
AKTS / İşyükü Tablosu | ||||||
Etkinlik | Sayı | Süresi (Saat) | Toplam İş Yükü (Saat) | |||
Ders Saati | 14 | 3 | 42 | |||
Rehberli Problem Çözme | 0 | 0 | 0 | |||
Problem Çözümü / Ödev / Proje / Rapor Tanzimi | 9 | 3 | 27 | |||
Okul Dışı Diğer Faaliyetler | 0 | 0 | 0 | |||
Proje Sunumu / Seminer | 2 | 12 | 24 | |||
Kısa Sınav (QUİZ) ve Hazırlığı | 1 | 2 | 2 | |||
Ara Sınav ve Hazırlığı | 1 | 4 | 4 | |||
Genel Sınav ve Hazırlığı | 1 | 12 | 12 | |||
Performans Görevi, Bakım Planı | 0 | 0 | 0 | |||
Toplam İş Yükü (Saat) | 111 | |||||
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(111/30) | 4 | |||||
Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır. |
Dersin Detaylı Bilgileri
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
NESNE TABANLI PROGRAMLAMA | - | Bahar Dönemi | 3+0 | 3 | 4 |
Ders Programı |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler |
Dersin Dili | Türkçe |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Dr.Öğr.Üye. Kevser ŞAHİNBAŞ |
Dersi Verenler | Dr.Öğ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ği | Bu 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. kapsam,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. | 6 | A |
1.1. Eclipse hakkında yeterli bilgi edinir. | 6 | A |
1.2. Eclipsi niçin ve nasıl kullanacağını bilerek kullanır. | 6 | A |
2. Okunabilir kod yazmak için standartları ve ilkeleri uygulayabilecektir. | 6 | A |
2.1. Okunabilir kodları tanımlar. | 6 | A |
2.2. Okunabilir kodlar için standart ve ilkelerin ne olduğunu bilir ve uygulamalarında bu standart ve ilkelere uyar. | 6 | A |
3. Verilen bir problem için sınıf diyagramları, nesne etkileşim diyagramları ve nesne durum geçiş diyagramları üretebilecektir. | 14, 6 | A |
3.1. Verilen bir problem için sınıf diyagramları üretir. | 6 | A |
3.2. Verilen bir problem için nesne etkileşim diyagramları üretir. | 6 | A |
3.3. Verilen bir problem için nesne durum geçiş diyagramları üretir. | 6 | A |
4. Nesne yönelimli programlama dilinin temel özelliklerini tanımlayabilecektir. | 14, 6, 9 | A |
4.1. Nesne yönelimli programlama dilinin ana prensiplerini tanımlar. | 6 | A |
4.2. Nesne yönelimli programlama dilinin kolaylaştırıcı tarafını uygular | 6 | A |
5. Nesne yönelimli yazılım geliştirme prensiplerini gösteren kod parçalarını üretip, hata ayıklayabilecektir. | 6, 9 | A |
5.1. Kod parçalarını nesne yönelimli yazılım geliştirme prensiplerine göre üretir. | 6 | A |
5.2. Nesne yönelimli yazılım geliştirme prensiplerine göre hataları ayıklar. | 6 | A |
6. java.io kütüphanesini kullanarak girdi ve çıktı temellerini tanımlayabilecektir. | 6 | A |
6.1. Java.io kütüphanesini efektif olarak kullanır. | 6 | A |
6.2. Girdi ve çıktı temellerini tanımlar. | 6 | A |
7. Nesne yönelimli tasarım, polimorfizm, bilgi saklaması ve miras kavramlarını tanımlayabilecektir. | 14, 6 | A |
7.1. Nesne yönelimli tasarım kavramını tanımlar. | 6 | A |
7.2. Nesne yönelimli polimorfizm kavramını tanımlar. | 6 | A |
7.3. Nesne yönelimli bilgi saklaması kavramlarını tanımlar. | 6 | A |
7.4. Nesne yönelimli miras kavramını tanımlar. | 6 | A |
8. Nesne yönelimli yazılımı test etme prensiplerini tanımlayabilecektir. | 6 | A |
8.1. Nesne yönelimli yazılımı test eder. | 6 | A |
8.2. Test etme prensiplerini tanımlar. | 6 | F |
Öğretim Yöntemleri: | 14: Bireysel Çalışma Yöntemi, 6: Deneyimle Öğrenme Modeli, 9: Anlatım Yöntemi |
Ölçme Yöntemleri: | A: Klasik Yazılı Sınav, F: Proje Görevi |
Ders Akışı
Sıra | Konular | Ön Hazırlık |
---|---|---|
1 | Nesne yönelimli diller: yapılandırılmış programlama, prosedürel programlama | |
2 | Soyut veri tipleri, kapsülleme | |
3 | Yazılı ve yazılmamış diller, Kuplaj ve uyum | |
4 | 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. kapsam | |
5 | Sınıf hiyerarşileri. Tek ve çoklu kalıtım. Sınıflar arası ilişkiler. | |
6 | 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ı. | |
7 | Nesneler ve değişkenler. Sınıflar vs türleri. delegasyon , Koleksiyon sınıfları. Sınıf kütüphaneleri. | |
8 | Birleşik Modelleme Dili (UML). Durum şemaları kullanımı: aktörler, sistem sınırları, --uses -- ve --extends -- | |
9 | Senaryolar. Sınıf diyagramları: ilişkilendirmeler, toplama, bağımlılık ve miras. Nesne etkileşim diyagramları, nesne durum geçiş diyagramları. | |
10 | Nesne kısıtlama dili (OCL): | |
11 | 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 | |
12 | Sınıf içi örnek ve proje önerisi | |
13 | Nesne yönelimli programlama dilinde tasarımların uygulanması | |
14 | 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 |
Kaynak |
Java programlama dili yazılım tasarımı, Altıntaş, Altuğ Bilgin, 2014, Papatya Yayıncılık |
Okuma Listesi 1. Java ile programlama ve veri yapıları, Çobanoğlu, Bülent, 2016 2. Java : nesne yönelimli programlama, Aydın, Ali Orhan, 2012 3. Java ile programlama, Uysal, Mitat, 2013 4. Java How to Program, Deitel & Deitel, Prentice Hall, 9th Edition, 2012 5. Java programming: A beginners Guide to learning Java, step by step. By Troy Dimes 2015 6. Java: A beginner’s Guide. By Herbert Schildt 2014 7. Head First Java, 2nd Edition By Katy Sierra and Bert Bates 2005 |
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı | |||||||
No | Program Yeterliliği | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
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. | ||||||
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. | ||||||
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ğerlendirir. | ||||||
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. | ||||||
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. | ||||||
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üzeyi | Mutlak Değerlendirme | |
Ara Sınavın Başarıya Oranı | 50 | |
Genel Sınavın Başarıya Oranı | 50 | |
Toplam | 100 |