Dersin Amacı: |
Nesne-Temelli Programlama II, Java programlama dilini kullanarak nesne yönelimli analiz, tasarım ve geliştirme kavramları ve teknolojileri konularında orta ve ileri düzeyde bilgi sağlamak üzere tasarlanmıştır. Sınıflara, nesnelere, metotlara daha derin bakışlar, kalıtım, çok biçimlilik, arayüzler, istisnai durum yönetimi, jenerik sınıflar ve metotlar, jenerik koleksiyonlar gibi konuları içermektedir. Ders ayrıca UML ile nesne yönelimli analiz ve tasarım metotlarını ve tasarımın gerçeklenmesini deneyimleten uçtan uca bir vaka çalışmasını da kapsamaktadır. |
Dersin İçeriği: |
Nesne-Temelli Programlamaya ve Java Uygulamalarına Giriş
Sınıflara, Nesnelere ve Metotlara Giriş
Metotlar: Daha Derin Bir Bakış
Sınıflar ve Nesneler: Daha Derin Bir Bakış
Nesne-Temelli Programlama: Kalıtım (Inheritance)
Nesne-Temelli Programlama: Çok Biçimlilik (Polymorphism), Soyut Sınıflar (Abstract Classes) ve Arayüzler (Interfaces)
ATM Vaka Çalışması, Bölüm 1: UML ile Nesne-Temelli Tasarım
ATM Vaka Çalışması, Bölüm 2: Bir Nesne-Temelli Tasarımın Gerçeklenmesi
İstisnai Durumların Yönetilmesi (Exception Handling): Daha Derin Bir Bakış
Jenerik Koleksiyonlar (Generic Collections)
Jenerik Sınıflar ve Metotlar
Özel Jenerik Veri Yapıları |
Hafta |
Konu |
Ön Hazırlık |
1) |
Methodların tasarımı
Sınıfların tasarımı
|
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
2) |
Methodlar
Erişim niteleyiciler
Erişim yöntemleri |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
3) |
Sınıflandırma
Genelleştirme
Özelleştirme |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
4) |
Java'da kalıtım
Kalıtımın yazılışı
Kalıtımda görülen hatalar |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
5) |
Kalıtımın detayları
Kalıtım ile ilgili ileri konular
Kalıtım örnekleri |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
6) |
Neden paketlere ihtiyaç duyarız?
Paketler nasıl kullanılır?
Paket kullanımının yazımı |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
7) |
İleri arayüz konuları
Arayüzlerde en sık görülen hatalar
Arayüz örnekleri |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
8) |
OOP'de hata işleme
İstisnalar
İstisnalarla en yaygın hatalar |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
9) |
Arasınav1 |
|
10) |
Try/catch
İstisnaların detayı
Kendi istisnalarınızın tasarımı |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
11) |
İş parçacıklarına neden ihtiyaç vardır?
İş parçacığının yaratılması
Örnekler |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
12) |
Arasınav2 |
|
13) |
Standart Java kütüphanesi
En çok kullanılan kütüphane sınıfları
Kütüphane ne zaman kullanılır? |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
14) |
Swing
Swing'in özellikleri
Swing'in temelleri |
Sınıfta görülen örneklerle uygulama
Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
15) |
Final sınavı |
|
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Proje yönetimi ile risk yönetimi ve değişiklik yönetimi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik ve sürdürebilir kalkınma hakkında farkındalık. |
|
2) |
Matematik, fen bilimleri ve kendi dalları ile ilgili mühendislik konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi. |
1 |
3) |
Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. |
4 |
4) |
Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. (Gerçekçi kısıtlar ve koşullar tasarımın niteliğine göre, ekonomi, çevre sorunları, sürdürülebilirlik, üretilebilirlik, etik, sağlık, güvenlik, sosyal ve politik sorunlar gibi ögeleri içerirler.) |
2 |
5) |
Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. |
|
6) |
Mühendislik problemlerinin incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. |
5 |
7) |
Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi. |
|
8) |
Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. |
|
9) |
Mesleki ve etik sorumluluk bilinci. |
|
10) |
Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ile çağın sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. |
3 |
11) |
Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. |
|